回 帖 发 新 帖 刷新版面

主题:关于分页

我的代码大概:

$list_num=5;
$result=mysql_query("select count(*) from mytable");
$rs=mysql_fetch_array($result);
$num=$rs[0];

$pagenumber=ceil($num/$list_num);
if(empty($_GET['page'])) {$page=0;}
else {
$page=$_GET['page'];
if($page<0) $page=0;
if($page>=$pagenumber) $page=$pagenumber-1;
}

$exec="select * from mytable order by t_id limit ".($page*$list_num).",".$list_num;
$result=mysql_query($exec);

为什么第一页是从page=0开始的,然后第二页是1开始的。
如果把$page初始为1的话那它select * from mytable order by t_id limit ".($page*$list_num).",".$list_num;查询到的是第二页的数据。

有没有方法能让他page=1查询的的是第一页的数据?

回复列表 (共1个回复)

沙发

($page*$list_num)应当是上一页最后那行的行数,
如果要让页码数字=$page,那么查询语句中要写成(($page-1)*$list_num)。
如果不改变你上面的代码,只要做链接时让页码数字=$page+1就行了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册