但網路上許多例子能夠講述對於初學者而言的內容並不多
以下是我當初在寫PHP分頁的一個小小例子
在下面主要分為兩個段落,並以命名test.php
第一部份主要是要向資料庫取得有幾筆資料
同時進行要分作幾頁的處理:
$page;
if(!isset($_GET["page"])) //isset 在此是判斷後方參數是否存在
$page=1; //設定起始頁
else
$page = intval($_GET["page"]); //確認頁數只能夠是數值資料
$query = "SELECT * FROM `show_page` ";
if ( !( $database = mysql_connect( "localhost", "iw3htp4", "iw3htp4" ) ) )
die( "Could not connect to database " );
if ( !mysql_select_db( "delicacy_db", $database ) )
die( "Could not open URL database " );
if ( !( $result = mysql_query( $query, $database ) ) )
{
print( "Could not execute query!" );
die( mysql_error() . "" );
}
$items = mysql_affected_rows(); //取得總項數,以便算出分頁須幾頁
$per = 10; //設定每頁顯示項目數量
$pages = ceil($items/$per); //計算總頁數
$start = ($page-1)*$per; //每頁起始資料序號,以便分次藉由sql語法去取得資料
$query1 = "SELECT * FROM `show_page` LIMIT $start , $per "; //每點任一分頁便執行取得該頁數的資料筆數
$result = mysql_query( $query1, $database );
mysql_close( $database );
第二部份主要是針對頁碼的處理:
for($i = 1; $i <= $pages; $i++)
{
if($i == $page)
echo '[' . $i . '] '; //顯示本頁的分頁數字會以[ ]包起來
else if($i == $pages)
echo '' . $i . ''; //顯示末頁的分頁數字
else
echo '' . $i . ','; //顯示其他的分頁數字會以" , "作區隔
}
透過上述程式碼會藉由test.php?page='.$i.' 連結到本身php檔案
再透過第一段的PHP區塊中的get去接收 $i
若按下分頁其中一個數字,會顯示....../www1036/test.php?page=1
其中後方的 ?page=1
就是能夠刷新資料的源由
本篇資料同時刊登於 宅學習Social Learning Space網站
參考資料:
[1] MySQL 資料庫的分頁處理, 台灣PHP聯盟[ Taiwan PHP User Group ]
http://twpug.net/modules/smartsection/item.php?itemid=42