ASP分词搜索

深圳还是一样的深圳 2009-07-29 03:09:34
我想做一个ASP分词搜索, 如:搜索 打印机 三星 自动,把这二个词分开,在同一个字段搜索


帮我看一下,那里有错,

代码如下:





str="1=1"
astr=""


if trim(request("keyword"))<>"输入商品名称" then
keyArr=split(keyword," ")
j=UBound(keyArr)
t=0
dim keystrArr()
for i=0 to j
if keyArr(i)<>"" then
redim preserve keystrArr(t)
strfilter="( bookname like '%"&keyArr(i)&"%' "
keystrArr(t)=strfilter
t=t+1
end if
next
keystr=join(keystrArr," and ")
str=str&" and "&keystr
end if

if int(request("areaid"))>0 then
astr=astr&" and areaid="&ReqNum("areaid")&""
end if

set rs=server.CreateObject("adodb.recordset")
rs.open"select * from shop_product where ("&str&astr&" and shengid="&request.Cookies("provinceid")&" and shiid="&request.Cookies("cityid")&") or ( "&str&" and userid=30) order by bookid desc",conn,1,1
...全文
167 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑心 2009-07-30
  • 打赏
  • 举报
回复
strfilter="( bookname like '%"&keyArr(i)&"%' "

( 到语句里再用。
  • 打赏
  • 举报
回复
解决了,我是这样写的,


shi=trim(request("keyword"))
keyArr=split(shi," ")
j=UBound(keyArr)
t=0
dim keystrArr()
for i=0 to j
if keyArr(i)<>"" then
redim preserve keystrArr(t)
strfilter="(bookname like '%"&keyArr(i)&"%')"
keystrArr(t)=strfilter
t=t+1
end if
next
keystr=join(keystrArr," and ")
str=str&" and "&keystr
end if


可以多词搜索,不管有多少词都可以,但就是不知道这样浪费不浪费资源
街头小贩 2009-07-29
  • 打赏
  • 举报
回复
推荐用分词产品,不是说自已写不好!如果用的不得当会很费资源
  • 打赏
  • 举报
回复
补充: 都是在bookname里面搜索

28,405

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧