时间:2016-02-24 18:29 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【用asp编写类似搜索引擎功能的代码】,下面是详细的分享!
用asp编写类似搜索引擎功能的代码
<HTML><HEAD><TITLE>简单搜索引擎</TITLE></HEAD>
<BODY BGCOLOR=#ffffff MARGINWIDTH="0" MARGINHEIGHT="0"
LEFTMARGIN=0 TOPMARGIN=0>
<FORM METHOD="post" ACTION="doquery.asp?act=search">
Query: <INPUT TYPE="Text" NAME="QueryString"><BR>
<INPUT TYPE="Submit" VALUE="Submit">
</FORM>
</CENTER>
<%
dim act
act=request("act")
if(act="search") then
QueryString = Request.form( "QueryString" )
QueryWords = Split( QueryString )
strIndent = " "
’ 如果搜索为空则返回
If QueryString = "" Then
Response.Redirect( "default.asp" )
End If
Session.timeout = 2
If IsObject(Session("sitesearch_conn")) Then
Set conn = Session("sitesearch_conn")
Else
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("database/SiteSearch.mdb"),"",""
Set Session("sitesearch_conn") = conn
End If
’ 查询语句
sql = "SELECT * FROM [URLIndex] WHERE"
’搜索Description字段
sql = sql & " ( [Description] LIKE ’%" & QueryWords( 0 ) & "%’" ’ First
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Description] LIKE ’%" & QueryWords( i ) & "%’"
Else
sql = sql & " AND [Description] LIKE ’%" & QueryWords( i ) & "%’"
End If
End If
Next
’ 搜索Keywords字段
sql = sql & " ) OR ( [Keywords] LIKE ’%" & QueryWords( 0 ) & "%’"
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Keywords] LIKE ’%" & QueryWords( i ) & "%’"
Else
sql = sql & " AND [Keywords] LIKE ’%" & QueryWords( i ) & "%’"
End If
End If
Next
’ 搜索Title字段
sql = sql & " ) OR ( [Title] LIKE ’%" & QueryWords( 0 ) & "%’"
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Title] LIKE ’%" & QueryWords( i ) & "%’"
Else
sql = sql & " AND [Title] LIKE ’%" & QueryWords( i ) & "%’"
End If
End If
Next
’ 搜索Summary字段
sql = sql & " ) OR ( [Summary] LIKE ’%" & QueryWords( 0 ) & "%’"
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Summary] LIKE ’%" & QueryWords( i ) & "%’"
Else
sql = sql & " AND [Summary] LIKE ’%" & QueryWords( i ) & "%’"
End If
End If
Next
sql = sql & " )"
’
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
Response.Write "<BR><B> 你搜索的是: </B> " & QueryString
Response.Write "<BR><B> 搜索的关键字: </B> "
For i = LBound( QueryWords ) to UBound( QueryWords )
Response.Write "<BR>" & strIndent & i & ": " & QueryWords( i )
Next
’ Print the SQL String
Response.Write "<BR><B> sql 语句 : </B> " & sql
’ Print the Results
Response.Write "<BR><B> 结果 : </B> <UL>"
On Error Resume Next
rs.MoveFirst
Do While Not rs.eof
Response.Write "<BR>" & "<A HREF=’OpenPage.asp?IndexURL=" & rs.Fields("URL").Value & "’>" & rs.Fields("Title") & "</A> - "
Response.Write rs.Fields("Description") & "<BR>"
Response.Write " <FONT SIZE=2>URL: " & rs.Fields("URL") & "</FONT>"
Response.Write "<HR SIZE=1 WIDTH=200 ALIGN=LEFT>"
rs.MoveNext
Loop
Response.Write "</UL>"
end if
%>
</BODY>
</HTML>
以上所分享的是关于用asp编写类似搜索引擎功能的代码,下面是编辑为你推荐的有价值的用户互动:
相关问题:用ASP实现搜索功能的代码
答:简单的搜索其实就是在sql里用like语句实现 例如:select * from news where title like'%问问%' 这句的意思是,从news 表中查询 title字段中含有 “问问” 两个字的所有记录 %是模糊匹配,左%表示匹配 "问问" 左边的任何字符,右%就匹配右边的 _ ... >>详细
相关问题:asp搜索功能如何实现类似匹配
答:sql * from table where 字段 like "%关键词%"模糊查询还有更多的规则,,其它用法,可以搜索相关资料。 >>详细
相关问题:搜索关键字的ASP代码,简单的搜索功能
答:select * from shujuku_Products where ProductName ='"&Keyword&"' and ProductNo='"&number&"' and Producjiage="&price&",名称和编号模糊查询用 like 就行了 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
