构建你的网站新闻自动发布系统之七
程序员文章站
2022-07-02 18:51:15
紧接上节,我们的新闻已能完成日常的新闻在线添加,删除等的功能,但这还是不足够的,有的用户可能需要查找一下过往某一专题内容的相关新闻条目,而一个比教完善的新闻系统,当然少不免也的完成这个功能。&nbs...
紧接上节,我们的新闻已能完成日常的新闻在线添加,删除等的功能,但这
还是不足够的,有的用户可能需要查找一下过往某一专题内容的相关新闻条目,而一
个比教完善的新闻系统,当然少不免也的完成这个功能。
现在马上就为我们的新闻系统添加上(全文/标题)的检索功能吧,首先我们做
一个检索表单,见下面的html代码,把这些代码放在需要新闻检索的web页面上。就
可以供用户方便地完成新闻搜寻。
《form method="post" action="https://xxx..com.cn/cgi-
win/search/search."》
《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=https://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
还是不足够的,有的用户可能需要查找一下过往某一专题内容的相关新闻条目,而一
个比教完善的新闻系统,当然少不免也的完成这个功能。
现在马上就为我们的新闻系统添加上(全文/标题)的检索功能吧,首先我们做
一个检索表单,见下面的html代码,把这些代码放在需要新闻检索的web页面上。就
可以供用户方便地完成新闻搜寻。
《form method="post" action="https://xxx..com.cn/cgi-
win/search/search."》
《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=https://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