網友 aspboy1 原創 有很都朋友寫信問我的站內搜索實現方法,其實用ASP實現站內模糊搜索很簡單. 這里只給大家講一下具體的實現思路.首先要建立一個存儲站內信息的數據庫.我們 假設有一個存放文章的數據庫wz.mdb數據結構如下: wz.mdb 字段 類型 含義 wid 自動編號 id號 wauth 文本 作者 wsubject 文本 文章標題 wcontent 文本 文章內容 wkey 文本 其它關鍵字 數據庫wz.mdb的數據添加須另用程序實現,比較容易,這里不作說明. 1.search.html '搜索界面 <html> <body> <p>請輸入關鍵字</p> <form name=fmsearch action=searchact.asp method=post> 'searchact為處理表單的搜索處理程序 <input type=text name=keystr size=28> <input type=submit name=sou value=搜索> </form> </body> </html> 2.searchact.asp '處理表單的搜索處理程序 <%keystr=Request.form("keystr") '獲取search.html提交的關鍵字 if keystr="" then response.write"<p>錯誤,請輸入關鍵字" response.end end if set dbconn=server.createobject("adodb.connection") '創建數據連接對象 conpath="DBQ=" &server.mappath("wz.mdb") '獲取wz.mdb實際路徑 dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & conpath '打開wz.mdb set rs=server.createobject("adodb.recordset") '創建記錄集 sqlstr="select wid,wauth,wsubject from ozg "& "where wsubject Like '%"& keystr &"%' or "& "wauth like '%"& keystr &"%' or wcontent like '%"& keystr &"%' or"& " wkey like '%"& keystr &"%' order by wid desc" 'sqlstr為查詢語句,是實現搜索的核心部分,應仔細斟酌 rs.open sqlstr,dbconn,3,1 '得到滿足條件的記錄 if not rs.eof then response.write"<p>根據你的輸入條件共搜到滿足條件的文章"&rs.recordcount response.write"<p>編號 作者 標題" do while not rs.eof response.write"<p>"&rs("wid")&" "&rs("wauth")&" "%> <a href=wz.asp?id=<%=rs("wid")%>><%rs("wsubject")%></a> <% rs.movenext loop else response.write"沒有搜到您要的文章,請<a href='javascript:history.go(-1)'>返回</a>" end if rs.close dbconn.close %> 3.wz.asp '顯示文章內容 <%id=cint(Request.form("id")) '獲取文章的id set dbconn=server.createobject("adodb.connection") '創建數據連接對象 conpath="DBQ=" &server.mappath("wz.mdb") '獲取wz.mdb實際路徑 dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & conpath '打開wz.mdb set rs=server.createobject("adodb.recordset") sqlstr="select wauth,wsubject,wcontent from wz where wid='"&id&"' order by wid" rs.open sqlstr,3,1 if not rs.eof then reponse.write"<p>作者 "&rs("wauth") reponse.write"<p>標題 "&rs("wsubject") reponse.write"<p>內容 "&rs("wcontent") end if rs.close dbconn.close %> 以上程序代碼很簡單,大家可以把其它數據庫也添加進來,同時也可把界面美化以下. -------------------------------------------------------------------- writen by aspboy and powered by http://easp.126.com | email:superozg@263.net --------------------------------------------------------------------
|