pear的Pager搭配mdb2使用

pear Pager提供的分頁套件,讓使用者能快速的為一資料集合建立換頁功能。雖然官方文件的說明很詳盡,但它僅提供陣列型式的範例,對初學者來說或許不大夠用,以下簡單記錄個人搭配mdb2的標準使用例…
pear的Pager搭配mdb2使用

$dbconn、setDBOpen()、setDBClose()是自行建立的資料庫連結的物件及函式,請先瀏覽此文pear mdb2 使用教學 資料庫連結

<?php
require_once('MDB2.php');
require_once('Pager/Pager.php');
setDBOpen();   
 
//依傳遞的參數$_GET['online']取得所有member資料
$dbquery = $dbconn->queryAll("select ID,name,birthday from member where online = '".$_GET['online']."'");
 
//設定分頁參數
$params = array(
'mode' => 'Sliding',//分頁模式
'perPage' => 10,//一頁幾筆
'path' => 'http://localhost/test/member.php',//產生分頁的頁面
'fileName' => '?online='.$_GET['online'].'pageID=%d',//自訂分頁傳遞的參數
'append' => false,//取消參數自動傳遞,這樣才能自訂fileName的參數
'delta' => 5,//幾頁分段
'itemData' => $dbquery//資料來源是上方的資料庫查詢結果
);

$pager_object = Pager::factory($params);//Pager的使用變數
$pager_data = $pager_object->getPageData();//Pager儲存的陣列資料
$pager_link = $pager_object->getLinks();//Pager的分頁變數
$pager_pags = $pager_object->numPages()//Pager的總頁數
$pager_nums = $pager_object->numItems()//資料總數
setDBClose();
?>

<!-- 用table排版內容 -->

<table>
<!-- 顯示頁數和資料數 -->
<tr><td colspan="3"><?=$pager_pags?>頁<?=$pager_nums?>筆</td></tr>

<!-- 迴圈跑出查詢資料 -->
<?php foreach ($pager_data as $data) { ?>
<tr><td><?=$data['ID']?></td><td><?=$data['name']?></td><td><?=$data['birthday']?></td></tr>
<?php } ?>

<!-- 顯示分頁 -->
<tr><td colspan="3"><?=$pager_link['all']?></td></tr>
</table>

註1:更多pager函式說明,請參考官方文件
註2:看到這篇文章PEAR::Pager Tutorials – Paginate database results,發現Pager以前的版本要搭配資料庫使用比較麻煩,還好這個套件有在持續更新…

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *