这几天正在全站修改,所以没有时间来写新东西,刚好遇到数据库分页问题,我才发现我当初写的不是一般的乱。
分页需要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 "<div class="nav">"; $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 "<span class="nav_live nav_link">$i</span>"; }else{ echo "<a class="nav_link" href="index.php?list=".($i)."">$i</a>"; } } echo "<a href="index.php?list=".($i+1)."" class="nav_next">下一页</a>"; }else if($list * $size < $countSize){//如果当前页面×每页显示数量,没有超过总数量 echo "<a href="index.php?list=".($i-1)."" class="nav_next">上一页</a>"; for($i = $next;$i<=$pre;$i++){ if($i==$list){ echo "<span class="nav_live nav_link">$list</span>"; }else{ echo "<a class="nav_link" href="index.php?list=".($i)."">$i</a>"; } } echo "<a href="index.php?list=".($i+1)."" class="nav_next">下一页</a>"; }else{//表示已经没有更多的页面了 echo "<a href="index.php?list=".($i-1)."" class="nav_next">上一页</a>"; for($i = $next;$i<=$pre;$i++){ if($i==$list){ echo "<span class="nav_live nav_link">$i</span>"; }else{ echo "<a class="nav_link" href="index.php?list=".($i)."">$i</a>"; } } } } echo "</div>"; ?>数据库连接我这里就不多说了。
最近写接口,改全站,累死了
0条评论登录后可见