| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1342 人关注过本帖
标题:[求助]提交搜索 关键字 + 空格 出现问题
只看楼主 加入收藏
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
 问题点数:0 回复次数:19 
[求助]提交搜索 关键字 + 空格 出现问题
当我在输入搜索关键字时,只要字符间没有空格就可以搜索,只要加上一个或多个空格即使数据库有关键字也搜索不到记录,怎样让程序能处理关键字+空格和空格后面的内容,表现结果为:我输入 硬件 CPU 返回结果为在数据库中含有硬件CPU的信息,或则返回 硬件CPU的信息,当然,如果这个很难,我只要能去掉空格返回空格前的数据就行了,谢谢大家!
搜索更多相关主题的帖子: 关键字 空格 数据库 搜索 CPU 
2006-01-05 22:47
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
收藏
得分:0 
key1=split(key," ")
sql="select * from news where title like '%"&key&"%'"
for i=0 to ubound(key)
sql=sql&" or title like '%"&key1(i)&"%'"
next
2006-01-06 07:42
conn
Rank: 2
等 级:新手上路
威 望:5
帖 子:420
专家分:0
注 册:2005-11-27
收藏
得分:0 

斑竹大意喽,嘿嘿
for i=0 to ubound(key1)
sql=sql&" or title like '%"&key1(i)&"%'"
next


我是新手,但我很虚心,对我发的问题请不要取笑,谢谢
2006-01-06 08:25
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 

不好意思,我没有调好,加到一下地方不行,谢谢!

<%
key1=split(key," ")
strsql="select * from camera where camera_name like '%"&keyword&"%' or camera_model like '%"&keyword&"%' or camera_int like '%"&keyword&"%'"
for i=0 to ubound(key1)
strsql=strsql&" or title like '%"&key1(i)&"%'"
next
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn, 1, 1
total=0
total=rs.recordcount
while not rs.eof %>

[此贴子已经被作者于2006-1-6 13:58:10编辑过]

2006-01-06 13:56
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 
我要怎样才能把处理空格的代码加到现有的里面去呢?谢谢各位
2006-01-06 14:00
conn
Rank: 2
等 级:新手上路
威 望:5
帖 子:420
专家分:0
注 册:2005-11-27
收藏
得分:0 
key1=split(key," ")
strsql="select * from camera where camera_name like '%"&keyword&"%' or camera_model like '%"&keyword&"%' or camera_int like '%"&keyword&"%'"
for i=0 to ubound(key1)
strsql=strsql&" or title like '%"&key1(i)&"%'"
next

set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn, 1, 1
total=0
total=rs.recordcount
while not rs.eof %>

红色部分改成你数据库里的字段

我是新手,但我很虚心,对我发的问题请不要取笑,谢谢
2006-01-06 14:02
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 

非常感谢您的热心帮助,我已改成

<%
key1=split(key," ")
strsql="select * from camera where camera_name like '%"&keyword&"%' or camera_model like '%"&keyword&"%' or camera_int like '%"&keyword&"%'"
for i=0 to ubound(key1)
strsql=strsql&" or camera_name like '%"&key1(i)&"%'' or camera_model like '%"&key1(i)&"%' or camera_int like '%"&key1(i)&"%'"
next

set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn, 1, 1
total=0
total=rs.recordcount
while not rs.eof %>

现在同样结果,只要结尾或文字间没有空格,就可以搜到,能在帮忙看看吗,谢谢。

2006-01-06 14:57
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 
我测试了一个下午,也没有成功,我的知识太浅了,我希望各位高人指点一下,谢谢!
2006-01-06 21:27
adleyliu
Rank: 1
等 级:新手上路
帖 子:146
专家分:0
注 册:2005-5-8
收藏
得分:0 
以下是引用zmw5112在2006-1-6 14:57:00的发言:

非常感谢您的热心帮助,我已改成

<%
key1=split(key," ")
strsql="select * from camera where camera_name like '%"&keyword&"%' or camera_model like '%"&keyword&"%' or camera_int like '%"&keyword&"%'"
for i=0 to ubound(key1)
strsql=strsql&" or camera_name like '%"&key1(i)&"%'' or camera_model like '%"&key1(i)&"%' or camera_int like '%"&key1(i)&"%'"
next

set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn, 1, 1
total=0
total=rs.recordcount
while not rs.eof %>

现在同样结果,只要结尾或文字间没有空格,就可以搜到,能在帮忙看看吗,谢谢。

红色部份不对吧?

版主写的很明白了。

[此贴子已经被作者于2006-1-7 13:16:12编辑过]


易点通WEB源http://www..cn/ QQ:14339095 E-mail:adleyliu@
2006-01-07 13:14
zmw5112
Rank: 1
等 级:新手上路
帖 子:171
专家分:0
注 册:2005-12-11
收藏
得分:0 
我已将红色部分修改成一样的了,其它地方也改了,还是不行,看来我是太笨了,实在不行了,再次谢谢大家,我会保留下来慢慢研究。
2006-01-07 20:43
快速回复:[求助]提交搜索 关键字 + 空格 出现问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034518 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved