不论是用户体验还是网站优化,ASP网站文章页增加上一篇下一篇功能都是有必要的。
因为手里有一个站,功能方便不是很好,最近在调整优化网站结构。
今天优化的功能就是文章底部实现上一篇下一篇功能。
看代码:
<%
'调用方法 Call pnArticle(当前接受的ID,上篇还是下篇)
'比如:上一篇 Call pnArticle(Request.QueryString("id"),"prev")
' 下一篇 Call pnArticle(Request.QueryString("id"),"next")
Sub pnArticle(pid,action)
Dim sql,at,bys
Select Case action
Case "next"
at = "<"
bys = "desc"
Case "prev"
at = ">"
bys = "asc"
Case Else
Response.Write("参数错误!")
Response.End()
End Select
pid = request("id") '接收文章ID
cid = classid '接收分类ID
sql = "select top 1 id,title from news where classid = "&cid&" and id "&at&" "&pid&" order by id "&bys&""
set rs=conn.execute(sql)
if rs.eof or rs.bof then
Response.Write("没有了!")
Else
pid = rs("id")
Response.Write("<a href='news_show.asp?id="&pid&"' title='"&rs("title")&"'>"&rs("title")&"</a>")
End If
rs.closs
set rs=noting
End Sub
%>
要点说明:
at参数通过判断ID实现显示当前ID前或后ID
bys参数通过排序实现文章显示为当前文章上一篇下一篇功能,否则会显示不正确,最明显的是上一篇只显示第一篇文章或下一篇只显示最后一篇文章
其中 cid = classid '接收分类ID 和 classid = "&cid&" 仅作判断显示同一分类的上一篇 下一篇文章功能。因为在同一个表中有不同分类的文章。如果你的表只有一个分类,可以自行去掉。
by清晨
交流QQ925474725 交流QQ群:122019913