上一篇文章和下一篇文章 asp、php、asp.net、jsp等

上一篇文章和下一篇文章最核心的sql语句如下

上一篇

 代码如下 复制代码
select top 1 Id from [table] where Id < @当前ID order by Id desc

下一篇

 代码如下 复制代码
select top 1 Id from [table] where Id > @当前ID order by Id

以后下面不管是asp php jsp asp.net等都可以这样来实现,下面我们介绍asp 和 php做法吧

在news.asp文件中添加如下代码:

 代码如下 复制代码

<%
set backrsd=server.CreateObject("Adodb.recordset")
sql="select top 1 * from news where id<"&id&" order by id desc"
set backrsd=conn.execute(sql)
if backrsd.eof then
NewTitle4="已经是第一篇"
else
id2=backrsd("id")
NewTitle2=backrsd("title")
end If
backrsd.close

set nextrsd=server.CreateObject("adodb.recordset")
sql="select top 1 * from news where id>"&id&" order by id"
set nextrsd=conn.execute(sql)
if nextrsd.eof then

NewTitle3="已经是最后一篇 "
else
id1=nextrsd("id")
NewTitle1=nextrsd("title")
end If
nextrsd.close
%>

 

在<body>中加入如下代码

 代码如下 复制代码
<br>上一篇:<%=NewTitle4%><a href='news.asp?newid=<%=id2%>'><%=NewTitle2%></a>
<br>下一篇:<%=NewTitle3%><a href='news.asp?newid=<%=id1%>'><%=NewTitle1%></a>

php中的用法

 代码如下 复制代码

function nextpage($fid,$tag,$bid){
  if('next' ==$tag){
   $sql ="select * from gx_news where id<$fid and menu_id='$bid' order by id desc";
  }elseif('prev' ==$tag){
   $sql ="select * from gx_news where id>$fid and menu_id='$bid' order by id asc";
  }
  $result =mysql_query($sql);
  if(!mysql_num_rows($result) ){
   echo('己经没有了!');
  }else{
   $rs =mysql_fetch_array($result);
   echo "<a href=news_page.php?id=".$rs[0].">".$rs['new_title']."</a>";
  }
 }

调用

 代码如下 复制代码
nextpage($fid,'next',$bid);  下一页
nextpage($fid,'prev',$bid);  上一页

好了,我说的核心就是只有二种sql可能实现所有编程语言的上一篇和下一篇的实现方法。

时间: 2024-10-30 12:43:52

上一篇文章和下一篇文章 asp、php、asp.net、jsp等的相关文章

php 上一篇与下一篇文章代码

基本知识: 就是对id对进行order by id desc 或  order by id asc进行排序,然后再判断比当前id> or小于当前文章id的 实例的sql语句如下: select * from news where id<$id order by id desc limit 0,1 select * from news where id>$id order by id desc limit 0,1 -- -- 表的结构 `string_find` -- CREATE TAB

asp 上一篇,下一篇文章实例代码

Function prev_pic(Url,Id)  Sql="Select  Top 1 * From young Where Id>"&id&" Order By Id Asc "  Call Opendb()  Set Rs0=Conn.Execute(Sql)  If Not Rs0.Eof Then   Response.Write("<a href="&url&"?Id="

帝国CMS上一篇,下一篇文字和连接地址修改

<a href="http://www.jzread.com/e/public/GotoNext?classid=[!--classid-- ]&id=[!--id-- ]&enews=pre">上一篇</a> <a href="http://www.jzread.com/e/public/GotoNext?classid=[!--classid-- ]&id=[!--id-- ]&enews=next"

Laravel 中获取上一篇和下一篇数据_php实例

首先文章的起源来与SF上面的一个问题: Laravel的Eloquent ORM 怎么获取当前记录的下一条 然后,当时在答案里面简单写了一下解决方案.不过由于这个取得下一条和取得上一条的记录其实在日常的开发当中还是会经常遇到,最常见的场景可能就是取得一篇文章的上一篇文章和下一篇文章了.其实这个在Laravel的Eloquent中实现还是挺容易的,不过由于Laravel并没有直接提供给我们相应的方法,我们得使用一个小小的技巧: 取得上一篇的文章id protected function getPr

用PHP实现 上一篇、下一篇的代码_php实例

复制代码 代码如下: <?php //----显示上一篇.下一篇文章代码 START---- $sql_former = "select * from article where id<$id order by id desc "; //上一篇文章sql语句.注意是倒序,因为返回结果集时只用了第一篇文章,而不是最后一篇文章 $sql_later = "select * from article where id>$id "; //下一篇文章sql语

上一篇和下一篇链接我们都会用到,方便用户浏览。

dedecms限制文章页上一篇.下一篇文章标题字数 为了避免文章标题字数过多,影响美观,我们可以对其进行控制. 1.编辑打开include/arc.archives.class.php教程文件 查找:$this->prenext['pre'] = "上一篇:{$prerow['title']} "; 在这一行上面加上以下代码 $prerow['title']=cn_substr($prerow['title'],30);//最多显示15个汉字 查找:$this->prene

php 上一篇,下一篇文章实现代码与原理说明_php技巧

实现原理: 就是对id对进行order by id desc 或 order by id asc进行排序,然后再判断比当前id> or小于当前文章id的相同栏目的文章. 实例的sql语句如下: $id就是当面文章的id select * from news where id<$id order by id desc limit 0,1 select * from news where id>$id order by id desc limit 0,1 -- -- 表的结构 `string

《循序渐进学Docker》——第3章 Ubuntu下使用Docker 3.1 Docker的运行平台

第3章 Ubuntu下使用Docker 第2章我们介绍了在Windows下如何搭建一个Docker运行环境.这一章我们要切换环境,在Ubuntu系统下使用Docker.为什么要切换到Ubuntu下呢,还要从Docker的运行平台说起. 3.1 Docker的运行平台 首先,我们需要知道Docker可以在哪些操作系统下运行.截止到2016年3月底,几乎所有的Linux系统(如Red Hat Enterprise Linux(RHEL)/Centos.Debian/Ubuntu.gentoo.arc

《ASP.NET 开发从入门到精通》----第2章 搭建开发环境 2.1 配置ASP.NET环境

第2章 搭建开发环境 ASP.NET 开发从入门到精通 ASP.NET是一门功能强大的Web开发技术,它是建立在特定的开发平台之上的.所以在进行ASP.NET开发前,需要为其建立专门的开发平台,搭建开发环境.在本章中,将简要介绍搭建ASP.NET开发环境的方法,为读者学习本书后面的内容打好基础. 2.1 配置ASP.NET环境 知识点讲解:光盘:视频\PPT讲解(知识点)\第2章\配置ASP.NET环境.avi 因为ASP.NET应用程序的宿主是IIS,它包含在微软的Windows系统中.对于个