PHP数据库记录分页显示
- 2016-06-02 12:40:42
- 幻音い
- 5816
温馨提示: 这篇文章于3096天前编写,现在可能不再适用或落后.
这几天正在全站修改,所以没有时间来写新东西,刚好遇到数据库分页问题,我才发现我当初写的不是一般的乱。
分页需要sql的limit命令进行分页。再传一个Get类型的list参数表示页数。
仅仅的分页并不行,还得需要在底部放置一个页数列表方便用户跳转。
分页首先要定义几个变量来表示每页显示的数量,页数列表最大显示多少还有获取所有记录,所有页数,当前所在页数.
``` <?php $list = 1;//默认当前在第几页 $showNav = 2;//左右显示的页数 $size = 6;//每页显示的数量 $yu = 0;//页面余数 if(isset($_GET["list"])){ $list = $_GET["list"]; } $query = mysql_query("SELECT * FROM post limit $list,$size");//执行sql命令,这里只说分页,需要什么的自行添加。 $countSize = mysql_num_rows($query);//查询出来的所有记录数量 if ($countSize % $size != 0) $yu = 1;//计算页面是否有余 $showPage = $yu + floor($countSize / $size);//计算总共分页面数量
while($row = mysql_fetch_array($query)){ /* * 输出内容 * */ }
//分页页面列表 echo "
";
$next = $list-$showNum;//更多页面
$pre = $list+$showNum;//之前的页面
if($next<1)$next = 1;
if($pre>$showPage)$pre = $showPage;
if($showPage>1){
if($list<=1){//当前处于第一个页面
$list = 1;
for($i = $next;$i<=$pre;$i++){
if($i==$list){
echo "$i";
}else{
echo "<a class="nav_link" href="index.php?list=".($i)."">$i";
}
}
echo "<a href="index.php?list=".($i+1)."" class="nav_next">下一页";
}else if($list * $size < $countSize){//如果当前页面×每页显示数量,没有超过总数量
echo "<a href="index.php?list=".($i-1)."" class="nav_next">上一页";
for($i = $next;$i<=$pre;$i++){
if($i==$list){
echo "$list";
}else{
echo "<a class="nav_link" href="index.php?list=".($i)."">$i";
}
}
echo "<a href="index.php?list=".($i+1)."" class="nav_next">下一页";
}else{//表示已经没有更多的页面了
echo "<a href="index.php?list=".($i-1)."" class="nav_next">上一页";
for($i = $next;$i<=$pre;$i++){
if($i==$list){
echo "$i";
}else{
echo "<a class="nav_link" href="index.php?list=".($i)."">$i";
}
}
}
}
echo "
";
?>
``` 数据库连接我这里就不多说了。
最近写接口,改全站,累死了
阁下需要登录后才可以查看评论哦~