快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

 以前曾经参考过一个网站的源码,是使用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 %>
<!--程序结束-->
返回类别: 教程
上一教程: 使用ASPIMAGE制作图形(二)
下一教程: 用WINSOCK设计CHAT程序

您可以阅读与"文章系统中“上篇、下篇”效果的制作"相关的教程:
· ASP文章系统的解决方案
· 会员系统“找回密码”的制作方式
· ASP文章系统的解决方案
· ASP文章系统解决方案
· 广告播放和跟踪系统的制作
    微笑服务 优质保证 索取样品