关于多关键字查询
lmxw 2009-04-27 02:30:24 我想在自己的网站里边做个多关键字查询!每个关键字直接用空格连接!但如果两个关键字在同一个字段内没问题,如果在两个不同字段就查不到了,代码如下,我要怎么修改啊?
if request.form("Search")="" then
response.redirect "Recordadd1.asp"
response.End()
end if
keyword=request.form("Search")
keyword=replace(keyword,"'","’")
keyword=Rtrim(LTrim(keyword))
keywordtmp=split(keyword," ")
max=ubound(keywordtmp)
if max=0 then
sql1=sql1&" guname like '%" & keywordtmp(i) & "%' "
sql2=sql2&" gutel like '%" & keywordtmp(i) & "%' "
sql3=sql3&" address like '%" & keywordtmp(i) & "%' "
sql4=sql4&" pn like '%" & keywordtmp(i) & "%' "
else
for i=0 to max
if i=0 then
sql1=sql1&" (guname like '%" & keywordtmp(i) & "%' and "
sql2=sql2&" (gutel like '%" & keywordtmp(i) & "%' and "
sql3=sql3&" (address like '%" & keywordtmp(i) & "%' and "
sql4=sql4&" (pn like '%" & keywordtmp(i) & "%' and "
else
if i=max then
sql1=sql1&" guname like '%" & keywordtmp(i) & "%') "
sql2=sql2&" gutel like '%" & keywordtmp(i) & "%') "
sql3=sql3&" address like '%" & keywordtmp(i) & "%') "
sql4=sql4&" pn like '%" & keywordtmp(i) & "%') "
else
sql1=sql1&" guname like '%" & keywordtmp(i) & "%' and "
sql2=sql2&" gutel like '%" & keywordtmp(i) & "%' and "
sql3=sql3&" address like '%" & keywordtmp(i) & "%' and "
sql4=sql4&" pn like '%" & keywordtmp(i) & "%' and "
end if
end if
next
end if
sql="select * from guest where "&sql1&" or "&sql2&" or "&sql3&" or "&sql4
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if rs.eof and rs.bof then
Response.Write("<script languge='javascript'>alert('没有找到相应的记录'); window.location.href='RecordSearch.asp'</script>")
response.End()
end if
rs.PageSize=15
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then page=1
rs.AbsolutePage=page
position=RS.PageSize*Page
pagebegin=position-RS.PageSize+1
if position<RS.RecordCount then
pagend=position
else
pagend= RS.RecordCount
end if
RowCount = RS.PageSize
Do While Not RS.EOF and rowcount>0