但網路上許多例子能夠講述對於初學者而言的內容並不多
以下是我當初在寫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