关于多关键字查询
我想在自己的网站里边做个多关键字查询!每个关键字直接用空格连接!但如果两个关键字在同一个字段内没问题,如果在两个不同字段就查不到了,代码如下,我要怎么修改啊?
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
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
...全文
相关推荐
MySQL单表多关键字模糊查询的实现方法
MySQL单表多关键字模糊查询是数据库操作中的常见需求,特别是在数据量较大且用户需要根据部分关键词进行搜索时。这种查询方法可以帮助用户快速定位到包含特定词汇的数据记录。
支持用户撤销的多关键字密文查询方案
"该文提出了一种支持用户撤销的多关键字密文查询方案,基于密文策略的属性加密技术,适用于多数据拥有者和多数据用户的环境。该方案允许数据用户获取不同拥有者用不同密钥加密的文件,并且具备用户撤销功能。方案
高效索引,可在加密的云数据上保留隐私的多关键字查询
本篇研究论文的标题是“高效索引,可在加密的云数据上保留隐私的多关键字查询”,涉及到的IT知识点包括云数据存储、隐私保护、加密技术、多关键字查询以及可搜索加密(Searchable Encryption,
行业分类-设备装置-无证书的可验证多关键字密文查询系统及方法.zip
**多关键字查询**:传统的加密搜索只支持单关键字,而多关键字查询能实现更复杂的检索需求,例如同时查找包含多个词的文档或记录。3.
网络游戏-用于在分布式网络中高效处理多关键字查询的方法和装置.zip
二、多关键字查询的重要性在网络游戏场景中,玩家可能需要根据多个关键字(如角色名、物品类型、地点等)进行搜索,这被称为多关键字查询。高效的多关键字查询能快速定位到玩家需要的信息,提升用户体验。



