ASP 模糊搜索 例如像百度那样的

来源:百度知道 编辑:UC知道 时间:2024/05/26 13:36:56
以下是我的搜索代码,我想做成像百度那样的,多个关键字用空格分开搜索。搜索内容在MURL这个字符段里面。
<%
txt_sclass=Request("txt_sclass")
txt_Mname=Request("txt_Mname")
txt_Mdate=Request("txt_Mdate")
txt_intro=Request("txt_intro")
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select id,Mname,Mclass,Mdate,Mintro,Murl from tab_image where 1=1"
If txt_sclass<>"" and txt_sclass<>"选择分类" Then sqlstr=sqlstr&" and Mclass="&txt_sclass&""
If txt_Mname<>"" Then sqlstr=sqlstr&" and Murl like '%"&txt_Mname&"%'"
If txt_Mdate<>"" Then sqlstr=sqlstr&" and Mdate='"&txt_Mdate&"'"
If txt_intro<>"" Then sqlstr=sqlstr&" and Mintro like '%"&txt_intro&"%'"
sqlstr=sqlstr&" order by id desc"
rs.open sqlstr,conn,1,1

把用户数据的词用split(keyword," ")分隔开,再把得到的数组进行搜索就行了。

If txt_Mname<>"" Then
dim arr,sql2
arr=split(txt_Mname," ")'用空格分隔,你还可以加上其它的符号,如“+”
for i=0 to ubound(arr)
sql2=sql2&" and Murl like '%"&txt_arr(i)&"%'"
next
sqlstr=sqlstr&sql2