PHPが簡易図書貸出システムのホームページページング機(jī)能を開発
メインページが完成したら、SQL文を通じてデータベースデータを表示する必要があります
ここで表示するにはページング機(jī)能を使用する必要があります結(jié)局のところ、最初のページに表示される數(shù)は限られています。
各ページに表示するデータを5つ設(shè)定しました
$pagesize=5;
IDを取得するには、クエリされた本のタイトルカテゴリが中國語である必要があります。 urldecode() 関數(shù)は、中國語をエンコードされた形式に変換するために必要です。
<?php if(!urldecode($_GET['proid'])){ //urldecode()函數(shù)將 URL 編碼后字符串還原成未編碼的樣子。編碼使用 %## 的格式 $SQL ="SELECT * FROM yx_books order by id desc"; //倒序排列 }else{ $SQL ="SELECT * FROM yx_books where type='".urldecode($_GET['proid'])."'"; //將查詢出來的書目類別中文字轉(zhuǎn)換為編碼形式 } ?>
クエリされたデータの総數(shù)を取得し、総ページ數(shù)を計(jì)算し、現(xiàn)在のページが最初のページより小さい場合、現(xiàn)在のページ番號が 1 番目のページを表示します。総ページ數(shù)を超える場合は、総ページ數(shù)が表示されます。
各ページでどのデータの表示を開始するかを決定します。
<?php $rs=mysqli_query($link,$sql); $recordcount=mysqli_num_rows($rs); //輸出查詢的總數(shù) //mysql_num_rows() 返回結(jié)果集中行的數(shù)目。此命令僅對 SELECT 語句有效。 $pagecount=($recordcount-1)/$pagesize+1; //計(jì)算總頁數(shù) $pagecount=(int)$pagecount; $pageno=empty($_GET["pageno"])?'':$_GET["pageno"]; //當(dāng)前頁 if($pageno=="") //當(dāng)前頁為空時(shí)顯示第一頁 { $pageno=1; } if($pageno<1) //當(dāng)前頁小于第一頁時(shí)顯示第一頁 { $pageno=1; } if($pageno>$pagecount) //當(dāng)前頁數(shù)大于總頁數(shù)時(shí)顯示總頁數(shù) { $pageno=$pagecount; } $startno=($pageno-1)*$pagesize; //每頁從第幾條數(shù)據(jù)開始顯示 ?>
SELECT はデータベース內(nèi)のステートメントをクエリし、それらをループで表示します。
<?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 } } ?>
最後に、ホームページ、前のページ、次のページ、最後のページをクリックする機(jī)能が表示されます。
現(xiàn)在のページが最初のページの場合は、ホームページと前のページのみが表示されます。
現(xiàn)在のページが総ページ數(shù)の場合、ホームページと前のページがリンクとして表示されます。
殘りは通常の追加リンクとして表示されます
<?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?>條信息