php获取文章上一页与下一页的方法

今天发现一个站的上一页与下一页出现问题,上一页没有问题但是在下一页是直接到了本频道最新发布的文章了,按原理应该是文章本身ID的前与后的ID才是上下页吧,下面我来与大家详细讲述一下.

先看个例子:1,2,3,4,5.

假如上面5个是ID了,我要对上一页排序直接使用order by id desc,如我当前ID为3那么出来的是2才对,对下一页我们要用order by id asc得出的排序应该是,4,好了原理就这么简.

sql实现方法,代码如下:

上一页:

复制代码 代码如下:

$sql ="Select 字段 from 表名 where id<3 order by id desc limit 1";

下一页:

复制代码 代码如下:

$sql ="Select 字段 from 表名 where id>3 order by id asc limit 1";

得出的结果与我们想的是一样的,好了最后我把自己以前写的一个函数分享给各位,代码如下:

复制代码 代码如下:

/*
 上一页,下一页
 int $tag 0上一页,1下一页
 int $fid
*/
 function nextPre($tag=0,$zid,$fid)
 {
  if( $tag )
  {
   $sql ="Select 字段 from 表名 where id<$fid order by id desc limit 1";
  }
  else
  {
   $sql ="Select 字段 from 表名 where id>$fid order by id asc limit 1";
  }
  //$sql = "Select * from 表名 where order by id desc limit 0,10";
  $result =  mysql_query($sql) or die('query error');
  if( mysql_num_rows( $result ) )
  {
   $rs = mysql_fetch_array( $result );
   return "<a href="".$rs['s_url']."">".$rs['title']."</a>";
  }
  else
  {
   return '没有了';
  }
 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/e91bc3092282329599a693ffe640eff8.html