PHP開發簡單圖書後台管理系統新書管理分頁功能

當新書管理頁面完成以後,就需要把資料庫的資料透過SQL語句查詢出來並在表中顯示

這裡使用分頁功能來顯示,畢竟第一頁顯示的數目是有限的,圖書館的圖書庫存數量一般是比較大的。

設定每頁顯示8條圖書資訊

$pagesize=8;  

取得查詢總數據,計算出總頁數$pagecount

<?php
$pagesize = 8; //每页显示数
$SQL = "SELECT * FROM yx_books";
$rs = mysqli_query($link,$sql);
$recordcount = mysqli_num_rows($rs);
//mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。
$pagecount = ($recordcount-1)/$pagesize+1;  //计算总页数
$pagecount = (int)$pagecount;
?>

取得目前頁$pageno

判斷噹噹前頁為空或小於第一頁時,顯示第一頁。

噹噹前頁數大於總頁數時,顯示總頁數為最後一頁。

計算每頁從第幾個資料開始

<?php
$pageno = $_GET["pageno"];   //获取当前页
if($pageno == "")
{
   $pageno=1;   //当前页为空时显示第一页
}
if($pageno<1)
{
   $pageno=1;    //当前页小于第一页时显示第一页
}
if($pageno>$pagecount)  //当前页数大于总页数时显示总页数
{
   $pageno=$pagecount;
}
$startno=($pageno-1)*$pagesize;  //每页从第几条数据开始显示
$sql="select * from yx_books order by id desc limit $startno,$pagesize";
$rs=mysqli_query($link,$sql);
?>

在HTML標籤中把資料庫中的圖書資訊用while語句循環出來顯示

<?php
while($rows=mysqli_fetch_assoc($rs))
{
   ?>
   <tr align="center">
      <td class="td_bg" width="6%"><?php echo $rows["id"]?></td>
      <td class="td_bg" width="25%" height="26"><?php echo $rows["name"]?></td>
      <td class="td_bg" width="11%" height="26"><?php echo $rows["price"]?></td>
      <td class="td_bg" width="16%" height="26"><?php echo $rows["uploadtime"]?></td>
      <td width="11%" height="26" class="td_bg"><?php echo $rows["type"]?></td>
      <td width="11%" height="26" class="td_bg"><?php echo $rows["total"]?></td>
      <td class="td_bg" width="20%">
         <a href="update.php?id=<?php echo $rows['id'] ?>" class="trlink">修改</a>&nbsp;&nbsp;
         <a href="del.php?id=<?php echo $rows['id'] ?>" class="trlink">删除</a>
      </td>
   </tr>
   <?php
}
?>

最後是把點擊首頁,上一頁,下一頁,末頁功能顯示出來。

如果目前頁為第一頁時,下一頁和末頁連結顯示。

噹噹前頁為總頁數時,首頁和上一頁給連結顯示。

其餘則所有的都正常連結顯示。

<tr>
   <th height="25" colspan="7" align="center" class="bg_tr">
      <?php
      if($pageno==1)
      {
         ?>
         首页 | 上一页 | <a href="?pageno=<?php echo $pageno+1?>&id=<?php echo $id?>">下一页</a> |
         <a href="?pageno=<?php echo $pagecount?>&id=<?php echo $id?>">末页</a>
         <?php
      }
      else if($pageno==$pagecount)
      {
         ?>
         <a href="?pageno=1&id=<?php echo $id?>">首页</a> |
         <a href="?pageno=<?php echo $pageno-1?>&id=<?php echo $id?>">上一页</a> | 下一页 | 末页
         <?php
      }
      else
      {
         ?>
         <a href="?pageno=1&id=<?php echo $id?>">首页</a> |
         <a href="?pageno=<?php echo $pageno-1?>&id=<?php echo $id?>">上一页</a> |
         <a href="?pageno=<?php echo $pageno+1?>&id=<?php echo $id?>" class="forumRowHighlight">下一页</a> |
         <a href="?pageno=<?php echo $pagecount?>&id=<?php echo $id?>">末页</a>
         <?php
      }
      ?>
      &nbsp;页次:<?php echo $pageno ?>/<?php echo $pagecount ?>页&nbsp;共有<?php echo $recordcount?>条信息
   </th>
</tr>


#
繼續學習
||
<?php $pagesize = 8; //每页显示数 $sql = "select * from yx_books"; $rs = mysqli_query($link,$sql); $recordcount = mysqli_num_rows($rs); //mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。 $pagecount = ($recordcount-1)/$pagesize+1; //计算总页数 $pagecount = (int)$pagecount; $pageno = $_GET["pageno"]; //获取当前页 if($pageno == "") { $pageno=1; //当前页为空时显示第一页 } if($pageno<1) { $pageno=1; //当前页小于第一页时显示第一页 } if($pageno>$pagecount) //当前页数大于总页数时显示总页数 { $pageno=$pagecount; } $startno=($pageno-1)*$pagesize; //每页从第几条数据开始显示 $sql="select * from yx_books order by id desc limit $startno,$pagesize"; $rs=mysqli_query($link,$sql); ?>