用ASP編程實現快速查找一例
發表于:2007-09-07來源:作者:點擊數:
標簽:
你要作的第一步,是在global.asa文件中建立一個初始變量,放置在你的Sub Session_onStart()程序中。 Sub Session_onStart() Referer = Trim(Request.ServerVariables("HTTP_REFERER")) If Referer = "" Then Referer = "None" End If Session("Referer") = R
你要作的第一步,是在global.asa文件中建立一個初始變量,放置在你的Sub Session_onStart()程序中。
Sub Session_onStart()
Referer = Trim(Request.ServerVariables("HTTP_REFERER"))
If Referer = "" Then
Referer = "None"
End If
Session("Referer") = Referer
End Sub
接著我們來著手看看如何完成程序的主要功能。
因為url經過了編碼,所以首先要把來訪者主機的指向數據還原成對我們有用的東西。建立一個ASP頁面,叫它decode.asp,是我們程序的主干。第一個功能是要對編碼過的指向頭進行解碼。程序有點長,而且很直接,沒有什么轉彎抹角,如果你嫌麻煩,不如到www.pop
.net.com的"網蟲進修班"上面找到本文,用"拷貝/粘貼"大法吧。
源代碼
第二件要作的事情是:從URL頭信息里分離出查詢部分--這個才是我們需要的。
'從指向URL中分離查詢字段。
Function isProduct(pStr)
If pStr <> "" And lCase(pStr) <> "none" Then
'向后搜索字段
temp = inStrRev(pStr, "/")
'得到目錄分離的位置
tempStr = Right(pStr, temp)
'得到有關數據長度
temp2 = Len(pStr)
'得到查詢數據行
pStr = Mid(pStr, temp, temp2)
'設定返回功能的值
isProduct = pStr
Else
isProduct = ""
End If
End Function
接著是要確立查找的明確標準。為達到這個目的,建立兩個靜態空間"指?查找指向數據
Function Finder(byRef prodList, byVal refList)
'模糊查詢
refList = lCase(refList)
' 通過指針循環查找匹配字段
For i = 0 To uBound(prodList) - 1
If inStr(refList, lCase(prodList(i, 0))) Then
'找到匹配
tHolder = tHolder amp; "Are You looking For " _
amp; "" _
amp; prodList(i, 0) amp; "
"
End If
'第二次循環
Next
'返回結果
Finder = tHolderEnd Function
通過一個inclue,把我們做好的decode.asp放到需要此功能的任何頁面,大功告成啦。
具體如下:
'如果指向頭不為空,調出此功能If lCase(Session("Referer")) <> "none" OR Session("Referer") <> "" Then' 解析指向數據 Response.Write
vbCrLf amp; "
" _ amp; Finder(pArray, URLDecode(isProduct(Session("Referer")))) _ amp; "
" amp; vbCrLf
End If (大眾
網絡報/karry)
|
原文轉自:http://www.anti-gravitydesign.com