日期:2014-05-18  浏览次数:20716 次

看看这个功能如何实现
现在的招聘网搜索职位时不是都要选好行业,职业,地点,企业性质4个都要选好才能搜索的吗?怎么实现选其中几个或一个也能搜的。比如行业:计算机,职业:程序员,其他不选也能搜索啊!给出最优解!!谢了

------解决方案--------------------
行业,职业,地点,企业性质

你拼一下sql就可以

比较好实现的

选几个条件 就把这个几个条件加到sql的where条件里面 就可以了

select * from jobs where 行业 = ‘计算机‘ and 地点 = ’上海‘

像上面一样根据条件写sql就好了
------解决方案--------------------
一般这种搜索选项是下拉框,
比如在设计下拉框时,将地点的其中一项设计为“请选择...”,值为“a”
然后在拼sql语句时,做一个判断,if(String1.equals( "a ")) string2= " " else string1= "地点=北京 "
sql:select * from tablename where "+String1+ " and.....
------解决方案--------------------
建字库

学baidu
------解决方案--------------------
SQL 语句条件用 like or
------解决方案--------------------
String pstrSQL = "SELECT * FROM ly_Shangpin ";
if(!pstrshangpin_type.equals( "all "))
{
pstrSQL = pstrSQL+ " where shangpin_type= ' "+pstrshangpin_type+ " ' ";
if(!pstrshangpin_spec.equals( "all "))
{
pstrSQL = pstrSQL+ " and shangpin_spec= ' "+pstrshangpin_spec+ " ' ";
if(!pstrshangpin_grade.equals( "all "))
{
pstrSQL = pstrSQL+ " and shangpin_grade= ' "+pstrshangpin_grade+ " ' ";
}
}
else
{
if(!pstrshangpin_grade.equals( "all "))
{
pstrSQL = pstrSQL+ " and shangpin_grade= ' "+pstrshangpin_grade+ " ' ";
}
}
}
else
{
if(!pstrshangpin_spec.equals( "all "))
{
pstrSQL = pstrSQL+ " where shangpin_spec= ' "+pstrshangpin_spec+ " ' ";
if(!pstrshangpin_grade.equals( "all "))
{
pstrSQL = pstrSQL+ " and shangpin_grade= ' "+pstrshangpin_grade+ " ' ";
}
}
else
{
if(!pstrshangpin_grade.equals( "all "))
{
pstrSQL = pstrSQL+ " where shangpin_grade= ' "+pstrshangpin_grade+ " ' ";
}
}
}
mobjRs = mobjDatabase.getResultSetForwardOnly(pstrSQL);
------解决方案--------------------
支持
------解决方案--------------------
用SQL语句..
------解决方案--------------------
选哪个where哪个
------解决方案--------------------
select ...
from ...
where 行业 like "... "%
and 职业 like "...% "
and 地点 like "...% "
and 企业性质 like "...% ";

其中...为文本框中的内容.传入的时候在后面+%号就可以了.
这样别人不填.就是一个%号,意思就是查找所有.
这样默认都支持模糊查询

如果你非要不支持模糊查询.只要在方法里做下判断就可以了.
本人觉得这个方法还是蛮简单的~