找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 81|回复: 7

[求助]站内搜索,多个关键词怎么实现

[复制链接]
发表于 2010-1-16 03:49:55 | 显示全部楼层 |阅读模式 IP:江苏扬州
我在做站搜索的时候遇到了一个问题,用单个关键词进行搜索时可以,但用多个关键词中间加空格或“,”搜索就无法搜索到内容,如何对这种多关键词进行处理,如果遇到空格怎么处理,遇到“,”怎么处理
发表于 2010-1-16 03:49:59 | 显示全部楼层 IP:江苏扬州
把每个关键字分开了
content LIKE '%key1%' OR content LIKE '%key2%' ......
回复

使用道具 举报

发表于 2010-1-16 03:50:02 | 显示全部楼层 IP:江苏扬州
用AND可以实现复合搜索,用OR可以实现单独多结果搜索.
文本框中的值——text
set rs=server.createobject("adodb.recordset")
aa=split(request.form("text")," ")
for i=0 to ubound(aa)
sql="select * from yourtable where keywords like '%"&aa(i)&"%'"
rs.open sql,conn,1,1
.......
rs.close
next


实践中需要用多个like

sql="select * from yourtable where keywords like '%"&aa(0)&"%'" and keywords like '%"&aa(1)&"%'" and ...

以上代码谨供参考,还可以做的更好.我比较喜欢合成SQL
回复

使用道具 举报

发表于 2010-1-16 03:50:06 | 显示全部楼层 IP:江苏扬州
谢谢两位,我的底子太薄,从来没有认真的看过函数表,对那些个函数的用法知之甚少,看了两位的回帖才想起来用Split,回头试一下,先去吃饭。
回复

使用道具 举报

发表于 2010-1-16 03:50:10 | 显示全部楼层 IP:江苏扬州
分开写比较清楚,像这样,呵呵 我经常这么写。
strsql="select * from studentinfo where enrollment<>''"
if bianhao<>"" then
strsql=strsql & " and (enrollment like '%" & bianhao & "%')"
end if
if chepaihao<>"" then
strsql=strsql & " and (studentnum like '" & chepaihao & "')"
end if
if danwei<>"" then
strsql=strsql & " and (birthday like '" & danwei & "')"
end if
回复

使用道具 举报

发表于 2010-2-10 05:05:07 | 显示全部楼层 IP:澳大利亚
让人半夜上厕所都要打开电脑再看一遍的好帖
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 13:24 , Processed in 0.214742 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表