
日期:2006-08-07 作者:喜騰小二 來源:PHPChina
假設有一個新聞標題的資料庫表(其它欄位略過)
news.sql
CODE:
CREATE TABLE news (
ns_id INT NOT NULL AUTO_INCREMENT,
ns_title VARCHAR(100) NOT NULL,
PRIMARY KEY (ns_id),
);
我們來看一下如何運用pear的DB類和Pager類快速實現MySQL資料分頁顯示,程式碼如下:
首先我們建立一個配置檔案config.php,在裡麵設定資料庫DB類的DSN和Pager分頁類的分頁選項
config.php
CODE:
$dsn = array( //設定資料庫DSN
'phptype' => 'mysql', //資料庫類型
'username' => 'user', //使用者名稱
'password' => 'pass', //密碼
'hostspec' => 'localhost', //主機
'database' => 'test', //資料庫名
);
$pagerOption = array( //設定Pager分頁選項
'mode' => 'Sliding', //分頁導航列樣式,此處為Sliding,還可用Jumping。
'perPage' => 10, //每頁顯示記錄數,此處為10條
'delta' => 2, //分頁導航列當前頁碼左右顯示頁碼數,此處為2,表示在當前頁碼左右各顯示2個頁碼,即總共顯示5個頁碼,例如:3 4 5 6 7
'prevImg' => '上一頁', //分頁導航列上一頁連線名稱
'nextImg' => '下一頁', //分頁導航列下一頁連線名稱
'curPageSpanPre' => '', //分頁導航列當前頁html前修飾符,此處為[b],表示當前頁碼加粗顯示
'curPageSpanPost' => '', //分頁導航列當前頁html後修飾符,此處為[/b],表示當前頁碼加粗顯示
'firstPageText' => '第一頁', //分頁導航列第一頁連線名稱
'lastPageText' => '最末頁', //分頁導航列最末頁連線名稱
);
?>
接下來實現分頁顯示
pagination.php
CODE:
require_once('config.php');
require_once('DB.php');
require_once('Wrapper.php'); //Wrapper.php檔案包含Pager類針對資料庫類的一個封裝,在附件中提供下載,也可以在pear的安裝套件裡找到。
$db = DB::connect($dsn);
$sql = 'SELECT ns_title FROM news';
$pager = Pager_Wrapper_DB($db, $sql, $pagerOption, false, DB_FETCHMODE_OBJECT); //獲取分頁資料
foreach ($pager['data'] as $data) {
print $ns_title = $data->ns_title; //顯示新聞標題
print '
';
}
print $pager['links']); //顯示分頁導航列
?>