温馨提示: 这篇文章于2856天前编写,现在可能不再适用或落后.

这几天正在全站修改,所以没有时间来写新东西,刚好遇到数据库分页问题,我才发现我当初写的不是一般的乱。

分页需要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 "
"; ?>

```  数据库连接我这里就不多说了。

 最近写接口,改全站,累死了

    阁下需要登录后才可以查看评论哦~

    随便看看

      载入中...

      正在准备穿越次元,阁下请稍等片刻~