文章系统中“上篇、下篇”效果的制作

原创 2004年08月07日 10:52:00

 曾经有很多朋友在问我,It365cn.com文章中实现“上一篇”、“下一篇”的效果如何实现?因为一直忙于写It365cn的论坛,所以未能及时给朋友们提供站内的代码。适逢空闲,工作之余,简单的来介绍一下实现的ASP代码。
  以前曾经参考过一个网站的源码,是使用ID+1和ID-1的办法来判断上下篇的。在实际使用过程中,发现一个问题:当删除数据库中的一篇文章时,就会造成ID不连续,如果用ID+1和ID-1来判断就会出现找不到记录。所以程序并不是非常的完美。
  在我们所介绍的ASP代码中,是通过查询大于当前ID的第一条记录来找出下一篇的ID,查询小于当前ID的第一条记录来找出上一篇的ID,这样就算ID不连续也可以正常显示了。(程序代码也是参阅过经典论坛相关贴子提示所制作的)
  简单介绍方法:
  数据表articles中有id(文章ID)、title(文章标题)、content(文章内容)、addtime(文章发布时间)等其它各相关字段。
<!--数据库连接文件-->
<!--#include file="conn.asp"-->
<%
`定义一个nextrs函数来找出下一篇的ID  
function nextrs
nextrsd=server.CreateObject("adodb.recordset")
sql="select top 1 * from articles where id>"&a1&" order by id"
set nextrsd=conn.execute(sql)
if nextrsd.eof then
response.Write "下一篇:这是本分类下的最后一篇文章"
else
a2=nextrsd("id")
response.Write "下一篇:<a href='article.asp?id="&a2&"'>"&nextrsd("title")&"</a>"
end if
end function

`定义一个backrs函数来找出上一篇的ID
function backrs
backrsd=server.CreateObject("adodb.recordset")
sql="select top 1 * from articles where id<"&a1&" order by id desc"
set backrsd=conn.execute(sql)
if backrsd.eof then
response.Write "上一篇:这是本分类下的第一篇文章"
else
a0=backrsd("id")
response.Write "上一篇:<a href='article.asp?id="&a0&"'>"&backrsd("title")&"</a>"
end if
end function

`取得传递过来的文章ID
ID=request("id")
sql="select * from articles where id="&id
set rs=conn.execute(sql)
a1=rs("id")
%>
<!--显示文章内容..............................-->
<!--调用前面定义的显示上一篇文章的函数--><% backrs %><br>
<!--调用前面定义的显示下一篇文章的函数--><% nextrs %>
<!--程序结束-->

  水平有限,可能在代码上还有些不足之处,如出现Bug,请及时给予指正。如有疑问之处,请登录http://www.it365cn.com/bbs发贴询问。

php ThinkPHP文章上一篇、下一篇解决方案

在平时的项目中,我们常常会遇到下述的一种情况: 在文章详情页的底部位置,有上一篇、下一篇文章。 初次遇到此类问题,习惯性的按照前辈的处理思路 http://www.jb51.net/ar...
  • ROVAST
  • ROVAST
  • 2016年02月17日 10:20
  • 1545

mysql实现文章上一篇下一篇的sql语句

转载:http://www.111cn.net/database/mysql/66709.htm 在mysql中查查询上一篇与下一篇只需要对数据进行按id排序之后,然后我们再进行asc或者d...
  • awawfwfw
  • awawfwfw
  • 2015年07月26日 00:46
  • 2639

Wordpress文章中添加上一篇、下一篇链接专题研究

这次L.Z制作了这个Wordpress文章中添加上一篇、下一篇链接专题研究,你可以从文章当中了解到如何在文章内页当中上一篇、下一篇链接,显示特定的分类下的上一篇、下一篇,以及利用add_filter随...
  • lizhi125
  • lizhi125
  • 2013年09月28日 14:50
  • 1363

挤压,可伸缩View(带互相挤压效果)上篇

  • 2013年10月18日 19:39
  • 1.74MB
  • 下载

[docker官网进阶文章]高级网络(上篇)

网络配置 TL; DR 当dockerworker开始时,它会创建一个名为虚拟接口docker0主机上。 它随机选择从定义的私有范围内的地址和子网RFC 1918中没有的主机上使用,并分...
  • shishusaiwai
  • shishusaiwai
  • 2015年05月04日 08:32
  • 505

Esp8266进阶之路【小实战上篇】Windows系统搭建8266的本地Mqtt服务器,局域网点亮一盏LED灯。CSDN博客

  • 2017年12月11日 21:16
  • 6.44MB
  • 下载

GPRS系统原理(上篇)

  • 2012年02月03日 22:03
  • 9.81MB
  • 下载

架构设计:系统间通信(6)——IO通信模型和Netty 上篇

下面的两篇文章我们将会在您已经理解原生的JAVA NIO框架的基础上,向您介绍Netty的原理和使用。讲解Netty并不是我们这个系列“系统间通信”的内容重点。目的是通过讲解IO通信模型、JAVA对各...
  • yinwenjie
  • yinwenjie
  • 2015年10月05日 22:32
  • 15060

架构设计:系统间通信(3)——IO通信模型和JAVA实践 上篇

系统间通信本来是一个很大的概念,我们首先重通信模型开始讲解。在理解了四种通信模型的工作特点和区别后,对于我们后文介绍搭建在其上的各种通信框架,集成思想都是有益的。 目前常用的IO通信模型包括四种(这...
  • yinwenjie
  • yinwenjie
  • 2015年09月19日 08:53
  • 13400

架构设计:系统间通信(1)——概述从“聊天”开始上篇

这个文章系列专门整理总结了目前系统间通信的主要原理、手段和实现。我们将讲解典型的信息格式、讲解JAVA RMI调用并延伸出来重点讲解RPC调用和使用案例;最后我们还会讲到SOA架构的实现,包括ESB实...
  • yinwenjie
  • yinwenjie
  • 2015年09月19日 08:47
  • 28179
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文章系统中“上篇、下篇”效果的制作
举报原因:
原因补充:

(最多只允许输入30个字)