关于搜索的问题
我是新手 第一次做网站
是做一个房产信息的网站 上面有一个可以让用户搜索房源信息的东西
比如用户可以搜索某个城市租金低于1000元/月的租赁房
或者搜索某个城市所有要出售的2手房
或者搜索某个城市房价高于6000元/平方米的房子
因为有好几个条件 所以可以有很多种组合 每个组合都需要一个不同的SQL语句来抓数据 我想不出好办法 只能用最笨的办法 每个组合写一个SQL语句-_-!!!
所以我想请教一下各位前辈 有没有什么好的办法
不胜感激~~~~
^_^
------解决方案--------------------SELECT * FROM database
WHERE (city = ? AND 0 <rent <=1000)
OR (city = ? AND flatflag = 2)
OR (city = ? AND flatValue> 6000)
不过我觉得还可以不同的条件来设置不同的SQL语句
例如
String tempSql = " ";
if(用户选择条件1)
tempSql = "city = ? AND 0 <rent <=1000 ";
else if(用户选择条件2)
tempSql= "city = ? AND flatflag = 2 ";
else if (用户选择条件3)
tempSql= "city = ? AND flatValue> 6000 ";
String sql = "SELECT * FROM database WHERE " + tempSql;
------解决方案--------------------有点错误
StringBuffer sql= new StringBuffer( "SELECT * FROM database WHERE " ) ;
if(用户选择条件1==true)
sql.append( "city = ' ").append(city).append( " ' ");
if(用户选择条件2==true)
sql.append( "flatValue> ").append(flatValue)
if (用户选择条件3==true)
sql.append( "flatflag = ").append(flatflag )
------解决方案--------------------如果一个条件都没选择的话楼上的语句就是错误的了,修改如下
StringBuffer sql= new StringBuffer( "SELECT * FROM database WHERE 1=1 " ) ;
if(用户选择条件1==true)
sql.append( " and city = ' ").append(city).append( " ' ");
if(用户选择条件2==true)
sql.append( " and flatValue> ").append(flatValue)
if (用户选择条件3==true)
sql.append( " and flatflag = ").append(flatflag )