今天发现一个站的上一页与下一页出现问题,上一页没有问题但是在下一页是直接到了本频道最新发布的文章了,按原理应该是文章本身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 '没有了';
}
}