如下代碼是PHP分頁案例,測試經過,主要是PHP+mysql實現分頁,代碼來處百度空間,有興趣看的話能夠了解一下PHP是如何分頁的?php
<?php $link = mysql_connect("localhost","root", "2855") //鏈接數據庫 or die("鏈接不上服務器:".mysql_error()); mysql_select_db("aming"); $ittype=$_GET['ittype']; if($ittype==""){ echo "請輸入查詢條件"; exit; } $PageSize = 4;//每頁顯示記錄數 $StartRow = 0; //開始顯示記錄的編號 //獲取須要顯示的頁數,由用戶提交 if(empty($_GET['PageNo'])){ //若是爲空,則表示第1頁 if($StartRow == 0){ $PageNo = $StartRow + 1; //設定爲1 } }else{ $PageNo = $_GET['PageNo']; //得到用戶提交的頁數 $StartRow = ($PageNo-1) * $PageSize; //得到開始顯示的記錄編號 $StartRow = ($PageNo - 1) * $PageSize; } //由於顯示頁碼的數量是動態變化的 //假如總共有一百頁,則不可能同時顯示100個連接 //而是根據當前的頁數顯示必定數量的頁面連接 //設置顯示頁碼的初始值 if($PageNo % $PageSize == 0){ $CounterStart = $PageNo - ($PageSize - 1); }else{ $CounterStart = $PageNo - ($PageNo % $PageSize) + 1; } //顯示頁碼的最大值 $CounterEnd = $CounterStart + ($PageSize - 1); ?> <html> <head> <title>分頁顯示記錄</title> <link rel="stylesheet" href="include/style.css" type="text/css"></head> <?php /*$itname=$_POST['itname']; if($itname ==""){ echo "請輸入查詢條件"; exit; }*/ if($ittype) $TRecord = mysql_query("select *from pc_it where ittype=$ittype"); $result = mysql_query("select *from pc_it where ittype=$ittype ORDER BY id DESC LIMIT $StartRow,$PageSize"); //獲取總記錄數 $RecordCount = mysql_num_rows($TRecord); //獲取總頁數 $MaxPage = $RecordCount % $PageSize; if($RecordCount % $PageSize == 0){ $MaxPage = $RecordCount / $PageSize; }else{ $MaxPage = ceil($RecordCount / $PageSize); } ?> <body class="UsePageBg"> <table width="100%" border="0" class="InternalHeader"> <tr> <td width="24%"><font size=4>分頁顯示記錄</font></td> <td width="76%"> <font size=4> <?php print "總共 $RecordCount 條記錄 - 當前頁: $PageNo of $MaxPage" ?> </font> </td> </tr> </table> <br> <table width="100%" border="0" class="NormalTableTwo"> <tr> <td class="InternalHeader">型號</td> <td class="InternalHeader" >參數</td> <td class="InternalHeader" >價格</td> </tr> <?php $i = 1; while ($row = mysql_fetch_array($result, MYSQL_NUM)) { $bil = $i + ($PageNo-1)*$PageSize; // $bil = $i + ($PageNo-1)*$PageSize; ?> <tr> <td class="NormalFieldTwo" ><?php echo $row[1] ?></td> <td class="NormalFieldTwo" ><?php echo $row[3] ?></td> <td class="NormalFieldTwo" ><?php echo $row[4] ?></td> </tr> <?php $i++; }?> </table><br><table width="100%" border="0" class="InternalHeader"> <tr> <td> <div align="center"> <form action = search2.php method = GET > <?php echo "<font size=4>"; //顯示第一頁或者前一頁的連接 //若是當前頁不是第1頁,則顯示第一頁和前一頁的連接 if($PageNo != 1){ $PrevStart = $PageNo - 1; print "<a href=search2.php?PageNo=1>首頁 </a>: "; print "<a href=search2.php?PageNo=$PrevStart&ittype=$ittype>上一頁 </a>"; } print " [ "; $c=0; //打印須要顯示的頁碼 for($c=$CounterStart;$c<=$CounterEnd;$c++){ if($c < $MaxPage){ if($c == $PageNo){ if($c % $PageSize == 0){ print "$c "; }else{ print "$c,"; } }else if($c % $PageSize == 0){ echo "<a href=search2.php?ittype=$ittype&PageNo=$c>$c</a> "; //echo "<a href=search2.php?PageNo=$c&ittype=$ittype>$c</a> "; }else{ echo "<a href=search2.php?ittype=$ittype&PageNo=$c>$c,</a> "; //echo "<a href=search2.php?PageNo=$cittype=$ittype>$c</a> ,"; } //END IF }else{ if($PageNo == $MaxPage){ print "$c "; break; }else{ echo "<a href=search2.php?ittype=$ittype&PageNo=$c>$c</a> "; //echo "<a href=search2.php?PageNo==$c&ittype=$ittype>$c</a> "; break; }//END IF }//END IF }//NEXT echo "] "; if($PageNo < $MaxPage){ //若是當前頁不是最後一頁,則顯示下一頁連接 $NextPage = $PageNo + 1; echo "<a href=search2.php?PageNo=$NextPage&ittype=$ittype>下一頁</a>"; } //同時若是當前頁補上最後一頁,要顯示最有一頁的連接 if($PageNo < $MaxPage){ $LastRec = $RecordCount % $PageSize; if($LastRec == 0){ $LastStartRecord = $RecordCount - $PageSize; } else{ $LastStartRecord = $RecordCount - $LastRec; } print " : "; echo "<a href=?PageNo=$MaxPage&ittype=$ittype>末頁</a>"; } echo "<form action='search2.php' method='post'> "; echo "轉到第<input type=text name='PageNo' size='2' value=".$PageNo.">頁"; echo "<input name=itname type=hidden value=".$ittype.">"; echo "<input type=submit name='Submit' value='Go'>"; echo "</form>"; echo "</font>"; ?> </form> </div> </td> </tr> </table> <?php mysql_free_result($result); mysql_free_result($TRecord); ?> </body> </html>