运用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']); //显示分页导航栏
?>

<<<返回技术中心

技术文章

站内新闻

我要啦免费统计