显示多个关键字必须要用空格,能不能不用空格一样能显示多个关键字,应该怎么修改高手指点谢谢 5

<%dimkeyword,keywordlist,path,sql'定义变量sql=""keyword=Request.QueryString("keyword")'使用... <% dim keyword,keywordlist,path,sql '定义变量
sql=""
keyword=Request.QueryString("keyword") '使用Request 对象的QueryString方法读取表单文本域中用户输入的关键词
if keyword="" then '关键词为空
'给出提示,返回前一页。history.back() 函数的作用是返回前一页
response.write "<Script>window.alert('请输入关键词!');history.back();</Script>"
else
keyword = replace(keyword,"'","") '用空格替换关键词中的字符"'"
keyword = replace(keyword,"[","") '用空格替换关键词中的字符"["
keyword = replace(keyword,"]","") '用空格替换关键词中的字符"]"
keyword = replace(keyword,",","") '用空格替换关键词中的中文字符","
keyword = replace(keyword,",","") '用空格替换关键词中的英文字符","
keyword=ltrim(rtrim(keyword)) '去掉关键词左边和右边的空格。函数LTrim去掉字符串左边空格,函数RTrim去掉字符串右边空格
keywordlist=split(keyword) '将用户输入的关键词用空格分成多个关键词并保存在一维数组keywordlist中
path=Request.QueryString("path") '使用Request对象的QueryString方法读取path值
company="/"&Request.QueryString("path")&"/"
set rs=server.createobject("adodb.recordset") '建立RecordSet对象
for i=0 to ubound(keywordlist) 'ubound 函数获得数组最大下标值
keywordlist(i) = Trim(keywordlist(i)) 'Trim 函数去掉字符串左边和右边函数
sql=sql &" FOX_xinxi.company like '%" & keywordlist(i) & "%' or " 'sql 语句,web.title 指的是数据表web中title列的值,web.title 中包含关键词keywordlist(i)
sql=sql &" FOX_xinxi.dizhi like '%" & keywordlist(i) & "%' or "
sql=sql &" FOX_xinxi.lxrname like '%" & keywordlist(i) & "%' or "
sql=sql &" FOX_xinxi.usertel like '%" & keywordlist(i) & "%' or "
sql=sql &" FOX_xinxi.phone like '%" & keywordlist(i) & "%' or "
sql=sql &" FOX_xinxi.fbsj like '%" & keywordlist(i) & "%' or "
sql=sql &" FOX_xinxi.gjz like '%" & keywordlist(i) & "%' or "
sql=sql &" FOX_xinxi.sheng like '%" & keywordlist(i) & "%' or "
sql=sql &" FOX_xinxi.shi like '%" & keywordlist(i) & "%' or "
sql=sql &" FOX_xinxi.xiang like '%" & keywordlist(i) & "%' or "

next
sql=Left(sql,(LEN(sql)-3))
'LEN 函数获得字符串的长度,left 函数获得字符串从左边数指定数目的字符,在此是去掉字符串中最后几位的"or "
if path="" or company="" then
search_sql=" ts=0 and yz=1 and ("&sql&") order by Rnd(ID-timer())" 'sql 语句
else
'sql 语句
search_sql="company like '%" & company & "%' ts=0 and yz=1 and ("&sql&") order by Rnd(ID-timer())"
end if
'从数据库中查询满足条件的记录,并保存在rs 中
rs.open "select id,company,dizhi,lxrname,usertel,phone,gjz,memo,fbsj,xinxipic,b,ts,sheng,shi, username from FOX_xinxi where "&search_sql,conn,1,1
%>
展开
 我来答
dangboy
2012-01-11 · TA获得超过3306个赞
知道小有建树答主
回答量:992
采纳率:80%
帮助的人:443万
展开全部
同上,不用空格就必须得用其它分隔,或者你可以逐字分隔。
写程序的目的是让用户有更好的使用体验,使用空格来分隔关键是几乎所有人的做法,人们搜索时一般都认为用空格来分隔关键,如果你与别人不同,会让用户用起来很别扭。
不过你上面的分隔方法有点问题。
keywordlist=split(keyword)
这样分隔的话是见一个空格就分隔一次,那如果有人输入 “百度 知道”呢?里面有很多个空空,那么将会分隔成N多的空白关键字,那么服务器是很累的,并且影响搜索结果。
你可以在该句之前加上一句:
keyword = replace(keyword," "," ") ‘将两个或多个空格替换成一个空格。

如果你一定要用其它分隔可以这样:
关建字输入成这样:“百度|知道|我们”用|来分隔
然后下面
keywordlist=split(keyword)
换成
keywordlist=split(keyword,"|")
即可。
更多追问追答
追问
能不能自动分割呢 也不需要用空格,也不需要用其他的符号来代替!显示相近的关键字!高手指点谢谢
追答
你是说想像百度那样,搜索“知倒”,结果会出现“知倒”,“知道”吗?
那我告诉你别想了,一般企业和个人做一般的网站要达到你说的搜索效果代价是巨大的,你要知道百度要达到你说的效果是获专利技术的,是花费巨资及强大软硬件技术支持来实现的,谷歌的技术对中文近似模糊搜索都没百度技术好,更合况是你个人了。
不过如果你想达到搜索“百度”,结果出现包含“百度”,“百”,“度”还是可以实现的,就是上面我说的逐字分隔。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
猿狫狮
2012-01-11 · 贡献了超过100个回答
知道答主
回答量:100
采纳率:0%
帮助的人:10万
展开全部
不使用空格就必须要使用其它字符作为分隔符,这是最简便的方法。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乐活丁途
2012-01-14 · TA获得超过639个赞
知道小有建树答主
回答量:659
采纳率:0%
帮助的人:456万
展开全部
应该不可以吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式