運用pear的DB類和Pager類快速實現MySQL資料分頁顯示

日期: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']); //顯示分頁導航列
?>

<<<返回技術中心

技術文章

站內新聞

我要啦免费统计