PHP開發簡單圖書借閱系統之主頁分頁功能
當主頁完成以後,就需要把資料庫的資料透過SQL語句顯示出來
這裡需要使用分頁功能來顯示,畢竟第一頁顯示的數目是有限的。
我們設定每頁顯示5個資料
$pagesize=5;
取得id需要倒序排列,查詢出的書名分類目錄為中文,需要urldecode()函數把中文轉換成編碼形式。
<?php
if(!urldecode($_GET['proid'])){
//urldecode()函数将 URL 编码后字符串还原成未编码的样子。编码使用 %## 的格式
$SQL ="SELECT * FROM yx_books order by id desc"; //倒序排列
}else{
$SQL ="SELECT * FROM yx_books where type='".urldecode($_GET['proid'])."'";
//将查询出来的书目类别中文字转换为编码形式
}
?>取得查詢的資料總數,計算總頁數,然後對目前頁進行判斷,當前頁小於第一頁時顯示第一頁,當前頁數大於總頁數時顯示總頁數頁。
確定每頁從第幾個資料開始顯示。
<?php
$rs=mysqli_query($link,$sql);
$recordcount=mysqli_num_rows($rs); //输出查询的总数
//mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。
$pagecount=($recordcount-1)/$pagesize+1; //计算总页数
$pagecount=(int)$pagecount;
$pageno=empty($_GET["pageno"])?'':$_GET["pageno"]; //当前页
if($pageno=="") //当前页为空时显示第一页
{
$pageno=1;
}
if($pageno<1) //当前页小于第一页时显示第一页
{
$pageno=1;
}
if($pageno>$pagecount) //当前页数大于总页数时显示总页数
{
$pageno=$pagecount;
}
$startno=($pageno-1)*$pagesize; //每页从第几条数据开始显示
?>SELECT查詢出資料庫中的語句然後循環顯示出來:
<?php
if(!urldecode($_GET["proid"])){
$SQL ="SELECT * FROM yx_books order by id desc limit $startno,$pagesize";
}else{
$SQL ="SELECT * FROM yx_books where type='".urldecode($_GET['proid'])."' order by id desc limit $startno,$pagesize";
}
$rs=mysqli_query($link,$sql);
?>
<?php
if(!empty($rs)){
while($rows=mysqli_fetch_array($rs))
{
?>
<tr>
<td height="30" align="center" bgcolor="#FFFFFF"><?php echo $rows["id"];?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows["name"];?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows["price"];?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows["uploadtime"];?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows["type"];?></td>
<td align="center" bgcolor="#FFFFFF"><?php echo $rows["leave_number"];?></td>
<td align="center" bgcolor="#FFFFFF" class="line2"></td>
</tr>
<?php
}
}
?>最後是把點擊首頁,上一頁,下一頁,末頁功能顯示出來。
如果目前頁為第一頁時,只顯示首頁和上一頁。
噹噹前頁為總頁數時,首頁和上一頁給連結顯示。
其餘則為正常增加連結顯示
<?php
if($pageno==1)
{
?>
首页 | 上一页 |
<?php if($pageno+1<= $pagecount) { ?>
<a href="index.php?proid=<?php echo empty($_GET['proid']) ? '' : urlencode($_GET['proid']); ?>&pageno=<?php echo $pageno + 1 ?>">下一页</a> |
<a href="index.php?proid=<?php echo empty($_GET['proid']) ? '' : urlencode($_GET['proid']); ?>&pageno=<?php echo $pagecount ?>">末页</a>
<?php
}
}
else if($pageno==$pagecount)
{
?>
<a href="index.php?proid=<?php echo urlencode($_GET['proid']);?>&pageno=1">首页</a> |
<a href="index.php?proid=<?php echo urlencode($_GET['proid']);?>&pageno=<?php echo $pageno-1?>">上一页</a> | 下一页 | 末页
<?php
}
else
{
?>
<a href="index.php?proid=<?php echo urlencode($_GET['proid']);?>&pageno=1">首页</a> |
<a href="index.php?proid=<?php echo urlencode($_GET['proid']);?>&pageno=<?php echo $pageno-1?>">上一页</a> |
<a href="index.php?proid=<?php echo urlencode($_GET["proid"]);?>&pageno=<?php echo $pageno+1?>" class="forumRowHighlight">下一页</a> |
<a href="?pageno=<?php echo $pagecount?>">末页</a>
<?php
}
?>
页次:<?php echo $pageno ?>/<?php echo $pagecount ?>页 共有<?php echo $recordcount?>条信息
新建檔案
<?php
$rs=mysqli_query($link,$sql);
$recordcount=mysqli_num_rows($rs); //输出查询的总数
//mysql_num_rows() 返回结果集中行的数目。此命令仅对 SELECT 语句有效。
$pagecount=($recordcount-1)/$pagesize+1; //计算总页数
$pagecount=(int)$pagecount;
$pageno=empty($_GET["pageno"])?'':$_GET["pageno"]; //当前页
if($pageno=="") //当前页为空时显示第一页
{
$pageno=1;
}
if($pageno<1) //当前页小于第一页时显示第一页
{
$pageno=1;
}
if($pageno>$pagecount) //当前页数大于总页数时显示总页数
{
$pageno=$pagecount;
}
$startno=($pageno-1)*$pagesize; //每页从第几条数据开始显示
?>
預覽
Clear
- 課程推薦
- 課件下載
課件暫不提供下載,工作人員正在整理中,後期請多關注該課程~ 















