用asp制作多关键字搜索(转)

转载 2006年07月12日 12:48:00

用asp制作多关键字搜索(转)
   
 
      在书写实现这个功能的过程中,我们会使用几个非常重要的asp函数,先来了解一下:

Split()

函数将一个字符串分割并返回分割结果

表达式 Split (S[,d])

实例:<%V= Split(A,B,C)

For i = 0 To UBound(V)

Response.Write V(i)

Next

%>

返回结果: A B C

UBound()

函数返回指定数组维数的最大可用下标>.

表达式 Ubound(arrayname [, dimension])

实例: <%

i = Array("Monday","Tuesday","Wednesday")

response.write UBound(i)

%>

返回结果: 2

Rtrim()

函数去掉字符串右边的字符串.

表达式 Rtrim(string)

LTrim()

函数去掉字符串左边的空格.

表达式 LTrim(string)

REPLACE()

函数REPLACE()是最有用的字符串函数之一。你可以使用REPLACE()函数,以一个字符串取代另一个字符串的一部分。

下面咱们来看看实现的方法和代码:

searchdata=request("T1") '从文本框中获得输入的关键字
if trim(searchdata)="" then '如果没有关键字的输入或者只输入的空格,警告!
response.write "<script>alert('请输入查询搜索关键字!');history.back();</script>"
response.end
end if

searchdata=replace(searchdata,"'","’")'将获得的字符串中英文单引号换成中文单引号
searchdata=Rtrim(LTrim(searchdata))'去掉获得的字符串最左边空格和最右边空格


sql1="" '网站关键字匹配sql语句
sql2="" '网站标题匹配sql语句
sql3="" '网站简要说明匹配sql语句

searchdatatmp=split(searchdata," ") '将输入的字符串根据空格分开,获得一个数组
max=ubound(searchdatatmp) '得出这个数组的维数,即输入的关键字个数

if max=0 then '如果max等于0说明只输入了一个关键字,那么就不需要循环处理
sql1=sql1&" key like '%" & searchdatatmp(i) & "%' " '网站关键字模糊搜索
sql2=sql2&" sitename like '%" & searchdatatmp(i) & "%' " '网站标题模糊搜索
sql3=sql3&" faq like '%" & searchdatatmp(i) & "%' " '网站简要说明搜索
else '如果含有多个关键字,采用循环处理sql语句
for i=0 to max '如果关键字很多,我们要求每一个搜索都要匹配每一个关键字,通过循环来实现
if i=0 then '写入下面sql语句作为开头,仔细研究一下下面的代码
sql1=sql1&" (key like '%" & searchdatatmp(i) & "%' and "
sql2=sql2&" (sitename like '%" & searchdatatmp(i) & "%' and "
sql3=sql3&" (faq like '%" & searchdatatmp(i) & "%' and "
else
if i=max then '如果循环到最后一个关键字,写入下面sql语句作为结尾
sql1=sql1&" key like '%" & searchdatatmp(i) & "%') "
sql2=sql2&" sitename like '%" & searchdatatmp(i) & "%') "
sql3=sql3&" faq like '%" & searchdatatmp(i) & "%') "
else '如果关键自己不是开头的也不是结尾的,那么循坏写入下面的sql语句
sql1=sql1&" key like '%" & searchdatatmp(i) & "%' and "
sql2=sql2&" sitename like '%" & searchdatatmp(i) & "%' and "
sql3=sql3&" faq like '%" & searchdatatmp(i) & "%' and "
end if
end if
next '循环结束
end if


sql="select * from www where "&sql1&" or "&sql2&" or "&sql3

response.write sql '看看我们这个代码运行的结果是否正确

    在文本框中输入“网人 俱乐部”,然后点击搜索,记住表单的action="文件名",这个文件里包含以上的代码。

    执行结果:select * from www where (key like '%网人%' and key like '%俱乐部%') or (sitename like '%网人%' and sitename like '%俱乐部%') or (faq like '%网人%' and faq like '%俱乐部%')

    可以看出我们写的代码是正确的了。下一节我们讲解搜索出结果如果排序,以及怎么实现!

 
 
 

asp制作多关键字搜索,搜索含空格的关键字

用asp制作多关键字搜索(转)            在书写实现这个功能的过程中,我们会使用几个非常重要的asp函数,先来了解一下:Split()函数将一个字符串分割并返回分割结果表达式 Split ...
  • wumingabc
  • wumingabc
  • 2006年11月09日 18:30
  • 850

asp制作多关键字搜索,搜索含空格的关键字

用asp制作多关键字搜索(转)            在书写实现这个功能的过程中,我们会使用几个非常重要的asp函数,先来了解一下:Split()函数将一个字符串分割并返回分割结果表达式 Split ...
  • snlixing
  • snlixing
  • 2007年12月30日 08:29
  • 2011

ASP 多个关键词搜索,每个关键词以+号或空格隔开.

keyword=trim(request("keyword"))strkeyword=instr(keyword," ")if strkeyword=0 then是否为+号keyword1=split...
  • lxny
  • lxny
  • 2006年07月12日 13:02
  • 2655

Delphi中多标签页面的实现

unit uMain; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, ...
  • diligentcat
  • diligentcat
  • 2012年12月11日 13:14
  • 1351

多ISO镜象启动U盘制作

P.S.:VMWare搞好了,进度快多了,下面的内容是目前的结果。目前存在的问题是:在VMWare里测试:1、Ubuntu说终止CPU了……没有成功引导到Live桌面2、深度的ISO很好的运行了;3、...
  • supxiaoqiang1
  • supxiaoqiang1
  • 2010年08月04日 15:38
  • 1410

多启动U盘制作流程

看多了网上的一键制作U盘启动盘的工具,有没有想过自己动手熟悉一下U盘启动盘的制作过程呢? 这篇文章将告诉你如何一步一步制作「多系统启动U盘」。...
  • u014717036
  • u014717036
  • 2017年02月07日 18:24
  • 863

用空格分割的多关键字搜索

在书写实现这个功能的过程中,我们会使用几个重要的asp函数,先来了解一下:Split()函数将一个字符串分割并返回分割结果表达式 Split (S[,d]) 实例:V= Split(A,B,C)For...
  • flynetcn
  • flynetcn
  • 2007年01月10日 15:33
  • 4228

ASP.NET 搜索关键字标记为红色

/// /// 搜索关键字标记为红色 /// /// /// 中国移动通信 /// 中国移动通信集团重庆有限公司渝北广场移动通信营业厅注销 /// 加入CSS样式 .focus-char{col...
  • qq285679784
  • qq285679784
  • 2017年09月26日 11:12
  • 526

搜索结果页面关键字加红加粗

后台代码List nlist= query.list();   for(Notice notice:nlist){   notice.setTitle(notice.getTitle().replac...
  • jethai
  • jethai
  • 2016年08月28日 14:00
  • 494

Asp.net 中高亮显示搜索关键字简单方法

今天用到搜索时的高亮显示,百度了一下,如下面: 1.替换关键字,对字体变色。         public static string ReplaceRed(string strtit...
  • orichisonic
  • orichisonic
  • 2015年09月23日 13:42
  • 1246
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用asp制作多关键字搜索(转)
举报原因:
原因补充:

(最多只允许输入30个字)