|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
以前曾经参考过一个网站的源码,是使用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文章系统解决方案 · 广告播放和跟踪系统的制作 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |