新闻中和新闻标题相关的新闻的实现
用数组把当前的新闻分开两个字或一个字一个字的数组进行查询
没有考虑sql 语句的执行效率
<%
'新闻显示用的 Set RsShow= Server.CreateObject("ADODB.Recordset")
'几个变量
'TitleAbout 当前的新闻标题
'TitleLen 新闻标题长度
'TitleAboutKey 定义数组 把标题每两个字分开赋值给数组
'i 循环的时候用的
TitleAbout=Trim(RsShow("Title"))
TitleLen=Len(TitleAbout) '获取标题长度
redim TitleAboutKey(TitleLen-1) '定义数组 把标题每两个字分开赋值给数组
For i=0 to TitleLen-2
TitleAboutKey(i)=mid(RsShow("Title"),i+1,2)
Next
For i=0 to TitleLen-2
KeyWord = KeyWord & "Title like '%"
KeyWord = KeyWord & TitleAboutKey(i)
KeyWord = KeyWord & "%' "
if i < TitleLen-2 then
KeyWord=KeyWord & "or "
end if
Next
'以前的
'Sql = "Select top 10 id,Title,infotime from News where Checked=True and id <> " & ID
'Sql = Sql & " and BigClassName='"&BigClassName&"' "
'Sql = Sql & " and (" & KeyWord & ") " '这里才是相关新闻 前面两个条件是我自己加的
'Sql = Sql & " Order by ID desc, Hits desc"
'改进的
SQLZ = "Select id,Title,infotime,Hits from News where Checked=True and id <> " & ID
SQLZ = SQLZ & " and BigClassName='"&BigClassName&"' "
SQLZ = SQLZ & " Order by ID desc, Hits desc"
Sql = "Select Top 20 * from ("&SQLZ&") where "
Sql = Sql & " " & KeyWord '这里才是相关新闻 前面两个条件是我自己加的
Sql = Sql & " Order by ID desc, Hits desc"
Set Rs=Server.CreateObject("ADODB.RecordSet")
Rs.open Sql,Conn,1,1
if Rs.eof and Rs.bof then
response.Write " "
else
do while not rs.eof
response.Write Rs("biaoti")
response.Write("<br>")
Rs.movenext
Loop
end if
Rs.close
set Rs=nothing
%>