現在馬上就為我們的新聞系統添加上(全文/標題)的檢索功能吧,首先我們做一個檢索表單,見下面的HTML代碼,把這些代碼放在需要新聞檢索的web頁面上。就可以供用戶方便地完成新聞搜尋。
《form method="POST" action="http://XXX..com.cn/cgi-win/search/search.asp"》
《p》《select name="select" size="1"》
《option selected value="search_1"》新聞檢索(標題)《/option》
《option value="search_2"》新聞檢索(全文)《/option》
《/select》《input type="text" name="key" size="20"》《input type="submit" value="搜索"
name="search"》《/p》
《/form》
在這個FORM的基礎添加上處理搜尋的ASP程序search.asp。在表單用我們用key這個參數來指示出需要匹配的字串,而select參數指定是基于全文搜索還是標題搜索。
現在進入程序處理部份,看看我們的search.asp程序。
*search.asp
《% @language="vbscript" %》
《%
if request.form("key")="" then
response.redirect "/"
end if
select case request.form("select")
case "search_1"
%》
《!--#include Virtual="/cgi-win/search/news/data.inc"--》
《%
Set rs_1 = Server.CreateObject("ADODB.Recordset")
sql="select * from data where instr(news_title,'"&request.form("key")&"')》0"
sql=sql+" Order by news_id Desc,news_class ASC"
rs_1.open sql,conn_1,3,2
case "search_2"
%》
《!--#include Virtual="/cgi-win/search/news/data.inc"--》
《%
Set rs_1 = Server.CreateObject("ADODB.Recordset")
sql="select * from data where instr(news_comment,'"&request.form("key")&"')》0"
sql=sql+" Order by news_id Desc,news_class ASC"
rs_1.open sql,conn_1,3,2
end select
if rs_1.bof then
response.redirect "/"
response.end
end if
rs_1.movefirst
dispmess="《table border=0 width=100% cellpadding=0 cellspacing=0 class=a9》"
disp=""
do while not rs_1.eof
if not rs_1.eof then
disp=disp&"《tr》《td》《a href=http://www.aaaaa.com.cn/news/read.asp?news_id="&rs_1("news_id")&" target=_blank》》》"&rs_1("news_title")&"《font size=1》("&rs_1("news_month")&"-"&rs_1("news_day")&")《/font》《/a》《/td》《/tr》《/p》"
rs_1.movenext
end if
loop
dispmess=dispmess&disp
dispmess=dispmess&"《/table》"
'dispmess="document.write('"&dispmess&"')"
%》
《%=dispmess%》
通過傳入的KEY參數和select(全文或標題檢索參數),生成一條SQL查詢語句,分別在標題的數據庫字段或在內容的字段中查找是否包含有key的字串,如過有的話就加如我們的結果記錄集,最后把新聞標題顯示出來。而輸出界面當然可以滿足您個人的需要,自己來定制,這里不采用分頁來顯示了。大家可以在這個新聞發布系統的基礎上,結合您本身的需要,把它設計得更為完美。
至此,我們的這套個人網站自動新聞發布系統基本上制作完畢了。