落伍者站长论坛's Archiver

寒泉绿 发表于 2008-7-24 16:08

问下ASP如何制作多关键字查询?懂的帮忙下,以下为代码

<%
Set objRs=Server.CreateObject("ADODB.RecordSet")
strSql="select top 100 Title,Content from Table where Title like '%"&sqlchk(request("word"),0)&"%' or Conten like  '%"&sqlchk(request("word"),0)&"%'"
objRs.Open strSql,strConn,1,3
%>
<%
if objRs.Eof then
response.write "ERROR"
else
while not objRs.eof
response.Write "objrs("Title")&"
objRs.Movenext
wend
end if
objRs.close
set objRs=Nothing
%>


上面是单关键字查询,如果用空格或“+”分开多关键字如何制作?网上是找到了相关资料,但不知道如何修改,谢谢了,以下为网上找到的资料:
keyword=trim(request("keyword"))
strkeyword=instr(keyword," ")
if strkeyword=0 then'是否为+号
keyword1=split(keyword,"+")
else
keyword1=split(keyword," ")
end if
Arrayi=ubound(keyword1)
if arrayi=0 then '只有一个关键字时,就不用执行循环了.
sql=sql&" (I_title like '%"&keyword1(i)&"%' or I_Keyword like '%"&keyword1(i)&"%')"
else
for i=0 to Arrayi
if i=0 then'循环到第一个关键词时
sql=sql&" (I_title like '%"&keyword1(i)&"%' or I_Keyword like '%"&Keyword1(i)&"%') and"
else
if i=arrayi then '循环到最后关键词时
sql=sql&" (I_title like '%"&keyword1(i)&"%' or I_Keyword like '%"&Keyword1(i)&"%')"
else
sql=sql&" (I_title like '%"&keyword1(i)&"%' or I_Keyword like '%"&Keyword1(i)&"%') and"
end if
end if
next
end if

格格男 发表于 2008-8-3 08:43

技术贴 帮顶

正版飞云 发表于 2008-8-3 09:14

ACC库30块帮改
SQL库40块帮改!!
需要的PM!:( :(  先支付后服务!

每个人都有生存,应该理解我的收费行为,谢谢!

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.