日期:2014-05-17  浏览次数:20749 次

三个条件的模糊查询,只能以其中一个条件查询,其它都不可以,求教中。。。
代码如下;
<%dim   keyword,sql3
keyword=replace(request.QueryString( "timeid "),( "placeid "),( "name "))
if   keyword <> " "   then
  sql3= "select   *   from   ziliao   where   [time]   like   '% "&trim(keyword)& "% '   or   [place]   like   '% "&trim(keyword)& "% '   or   [name]   like   '% "&trim(keyword)& "% '   "
set   rs3=server.createobject( "adodb.recordset ")
rs3.open   sql3,MM_conn_STRING,1,1
if   rs3.eof   and   rs3.bof   then              
          response.write   "目前没有记录 "
else
      do   while   not   rs3.eof
            response.write   "出版时间: "&rs3( "time ")& "存放位置: "&rs3( "place ")& "资料名字: "&rs3( "name ")& " <br/> "
            rs3.movenext
      loop
end   if
end   if
%>
现在的问题是:只能以timeid的条件查询,不能以name和placeid来查询。
好几天了,实在搞不出来,请大家指点。


------解决方案--------------------
keyword=replace(request.QueryString( "timeid "),( "placeid "),( "name "))
你是不是放了两个条件选择框加一个文本框?
文本框的name属性是什么?
我给你的代码主要是过滤 '号,防止sql注入,不是这么替换的哦!原代码应该是:
keyword=replace(request.QueryString( "这里写上你的文本框的name属性的值 "), " ' ", " ")

然后搜索的时候,那两个选择框可以不用,不管按照什么条件查询,只要输入的关键子在数据表中的三个字段用的任何一个字段有相似的,就可以搜索出来