首先获取数据库中某表的数据,输出到网页上,然后再进行分页显示。一句话就讲明白了,但具体怎么分页的,请看代码。
=$pagetot){
$pagenum=$pagetot;
}
$offset=($pagenum-1)*$length;
//从数据库获取数据
$sql="select * from t1 order by id limit {$offset},{$length}";
$result=mysql_query($sql);
echo "用户信息表
";
echo "| {$row['id']} | "; echo "{$row['username']} | "; echo "{$row['password']} | "; echo "
$sql="select * from table limit m,n";limit后面的两个参数分别是起始点与偏移量。m可以不写,自动默认为0.表示获取的记录从m开始到m+n结束。通过将变量作为参数传入,可以灵活的控制每页的显示数量。
翻页的时候,需要添加两个超链接,链接地址中添加$page和$prevpage,$nextpage变量,通过$prevpage和$nextpage的变化,让每页显示的数据不同。
但是仅仅做到这两点,只能保证分页显示成功,一旦页数递增到数据所在范围,就会发生没有数据,但可以继续翻页的结果。所以,为了完善分页显示,还必须翻页的页数。页数=总记录/单页显示记录。然后进一取整,用ceil()函数就搞定。不过,在获取到记录集之前就要进行,也就必须获取总记录数。这里推荐的比较好的方法就是count(*)获取总行数,然后用mysql_fetch_row将值挖出来。返回后的数组,第一个值就是总记录值。可以边看代码边理解。取得最大页数之后,一个if语句进行判断一下,就可以做到页数的,保证了翻到数据的最后一页就翻不过去了。
最后一点提的就是@
$pagenum=@$_GET['page']?$_GET['page']:1;在这个三元运算前面加@是为了忽略掉php的Notice。因为$page属于不确定的索引。它到了代码最后的超链接才排上用场。当然,还有很多方法可以忽略掉警告,比如修改php的配置文件。这就看个人喜好了。不必纠结与一个@。
上两张分页显示的图(美化和数据忽略不记,实例而以)
Copyright © 2019- dxga.cn 版权所有 湘ICP备2023023988号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务