|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
不断巩固,摸透大部分PHP常用函数,并可理解OOP,MYSQL优化,以及模板 在页面上显示大批数据,是WEB项目中很罕见的一个作法,但限于屏幕的巨细,为了便于用户浏览,咱们凡是需求将数据分页显示,所以分页功效是大部分项目不成短少的。PEAR::Pager是一个功效壮大的分页类,利用十分便利。
体系需求:PHP4.3.* /PHP5,PEAR::Pager
PEAR::Pager有两种分页显示形式,一是Jumping,二是Sliding。二者有甚么区分,咱们来看两个例子:
Jumping.php
<?php
require_once 'Pager/Pager.php';
$params = array(
'mode' => 'Jumping',
'perPage' => 3,
'delta' => 5,
'itemData' => array('a','b','c','d','e','z','ty','xc','fg','fg','jk','hj','ty','xc','e','z','ty','xc','fg','fg','jk','hj','ty','xc')
);
echo "<BR>以后分页形式:".$params['mode'];
echo "<BR>每页显示数据条数:".$params['perPage'];
echo "<BR>显示页数:".$params['delta'];
echo "<BR>具体数据数组:";
print_r($params['itemData']);
$pager = & Pager::factory($params);
$data = $pager->getPageData();
$links = $pager->getLinks();
echo "<P>最初后果:";
echo $links['all'];
echo $pager->linkTags;
echo '<P>以后页的数据: ' ;
echo "<pre>";
print_r($data);
echo "</pre>";
echo "其它类办法失掉的数据:<P>";
echo 'getCurrentPageID()...: ';
var_dump($pager->getCurrentPageID());
echo "<BR>";
echo 'getNextPageID()......: ';
var_dump($pager->getNextPageID());
echo "<BR>";
echo 'getPreviousPageID()..: ';
var_dump($pager->getPreviousPageID());
echo "<BR>";
echo 'numItems()...........: ';
var_dump($pager->numItems());
echo "<BR>";
echo 'numPages()...........: ';
var_dump($pager->numPages());
echo "<BR>";
echo 'isFirstPage()........: ';
var_dump($pager->isFirstPage());
echo "<BR>";
echo 'isLastPage().........: ';
var_dump($pager->isLastPage());
echo "<BR>";
echo 'isLastPageComplete().: ';
var_dump($pager->isLastPageComplete());
echo "<BR>";
echo '$pager->range........: ';
var_dump($pager->range); echo "<BR>";
?>
运转了局以下图:
Sliding.php
<?php
require_once 'Pager/Pager.php';
$month = 'september';
$params = array(
'mode' => 'Sliding',
'append' => false,
'urlVar' => 'num',
'path' => 'http://localhost/' . $month,
'fileName' => 'art%d.html', //%d将被交换成以后页的数字
'itemData' => array('a','b','c','d','e','z','ty','xc','fg','fg','jk','hj','ty','xc','e','z','ty','xc','fg','fg','jk','hj','ty','xc'),
'perPage' => 3
);
echo "<BR>以后分页形式:".$params['mode'];
echo "<BR>每页显示数据条数:".$params['perPage'];
echo "<BR>链接指向途径:".$params['path'];
echo "<BR>链接指向文件名:".$params['fileName'];
echo "<BR>具体数据数组:";
print_r($params['itemData']);
$pager = & Pager::factory($params);
$data = $pager->getPageData();
echo "<P>最初后果:";
echo $pager->links;
echo '<P>以后页的数据: ' ;
echo "<pre>";
echo 'Data for current page: '; print_r($data);
echo "</pre>";
echo "其它类办法失掉的数据:<P>";
echo 'getCurrentPageID()...: ';
var_dump($pager->getCurrentPageID());
echo "<BR>";
echo 'getNextPageID()......: ';
var_dump($pager->getNextPageID());
echo "<BR>";
echo 'getPreviousPageID()..: ';
var_dump($pager->getPreviousPageID());
echo "<BR>";
echo 'numItems()...........: ';
var_dump($pager->numItems());
echo "<BR>";
echo 'numPages()...........: ';
var_dump($pager->numPages());
echo "<BR>";
echo 'isFirstPage()........: ';
var_dump($pager->isFirstPage());
echo "<BR>";
echo 'isLastPage().........: ';
var_dump($pager->isLastPage());
echo "<BR>";
echo 'isLastPageComplete().: ';
var_dump($pager->isLastPageComplete());
echo "<BR>";
echo '$pager->range........: ';
var_dump($pager->range); echo "<BR>";
?>
运转了局以下图:
运转以上代码,可以发明,Jumping是腾跃式行进,一次翻几页,而Sliding是逐页地行进。
在例子中可以看到PEAR::Pager供应了良多类办法,可以前往咱们所需求的数据,如以后页ID,下一页ID,以后页上数据条数等等。
上面将一切类办法的感化列出,供参考:
Pager::Pager() C 机关函数 参数为二维数组 详见下面的示例
Pager::factory() -- 创立一个Pager对象
Pager::getCurrentPageID() 前往以后页的ID
Pager::getLinks() 前往某个页所对应的链接 参数为页面的ID 参数为空则前往以后页的链接
Pager::getNextPageID() 前往下一页的ID
Pager::getOffsetByPageId() 前往纪录局限
例如以后页为1,每页显示10条,则前往(1,10)
如以后页为2,每页显示8条,则前往(8,16)
Pager::getPageData() 以数组模式前往以后页数据
Pager::getPageIdByOffset() 依据纪录局限前往页面ID
本办法仅当分页形式为Jumping时无效
Pager::getPageRangeByPageId() 前往某个页面地点的纪录局限
例如形式为Jumping时,假如pageId=3 , delta=10,则前往(1,10),假如pageId=3 , delta=10,则依然前往(1,10),由于1,3都在10的局限以内。假如pageId =14,则前往(10,20),
由于14落于10,20之间。
Pager::getPreviousPageID() 失掉前一页的ID
Pager::getperpageselectbox() 前往一个XHTML的Select标签字符串
可用于直接跳转到某个页面
Pager::isFirstPage() 判别以后页是不是第一页
Pager::isLastPage() 判别以后页是不是最初第一页
Pager::isLastPageComplete() 判别是不是抵达最初一页
Pager::numItems() 前往总纪录数
Pager::numPages() 前往总页数
其它功效及用法请参看PEAR::Pager文档:
培训的第四阶段,就是应用PHP语言开发实际的程序。以结合实际的项目开发来进行学习,效果真的很好,在学习完之后就开始练习,能比较容易掌握所学的知识,这是学校的学习所没法比的。 |
|