fleaphp常用方法分页之Pager使用方法


Posted in PHP onApril 23, 2011

Pager 分页函数

/** 
* 构造函数 
* 
* 如果 $source 参数是一个 TableDataGateway 对象,则 FLEA_Helper_Pager 会调用 
* 该 TDG 对象的 findCount() 和 findAll() 来确定记录总数并返回记录集。 
* 
* 如果 $source 参数是一个字符串,则假定为 SQL 语句。这时,FLEA_Helper_Pager 
* 不会自动调用计算各项分页参数。必须通过 setCount() 方法来设置作为分页计算 
* 基础的记录总数。 
* 
* 同时,如果 $source 参数为一个字符串,则不需要 $conditions 和 $sortby 参数。 
* 而且可以通过 setDBO() 方法设置要使用的数据库访问对象。否则 FLEA_Helper_Pager 
* 将尝试获取一个默认的数据库访问对象。 
* 
* @param TableDataGateway|string $source 
* @param int $currentPage 
* @param int $pageSize 
* @param mixed $conditions 
* @param string $sortby 
* @param int $basePageIndex 
* 
* @return FLEA_Helper_Pager 
*/ 
function FLEA_Helper_Pager(& $source, $currentPage, $pageSize = 20, $conditions = null, $sortby = null, $basePageIndex = 0) 
{ 
$this->_basePageIndex = $basePageIndex; 
$this->_currentPage = $this->currentPage = $currentPage; 
$this->pageSize = $pageSize; 
if (is_object($source)) { 
$this->source =& $source; 
$this->_conditions = $conditions; 
$this->_sortby = $sortby; 
$this->totalCount = $this->count = (int)$this->source->findCount($conditions); 
$this->computingPage(); 
} elseif (!empty($source)) { 
$this->source = $source; 
$sql = "SELECT COUNT(*) FROM ( $source ) as _count_table"; 
$this->dbo =& FLEA::getDBO(); 
$this->totalCount = $this->count = (int)$this->dbo->getOne($sql); 
$this->computingPage(); 
} 
}

Pager 参数说明
$source 数据库操作类
$currentPage 当前页
$pageSize 每页显示记录数量
$conditions 查询条件
$sortby 排序方式
$basePageIndex 页码基数
Pager 使用示例(实例)
$dirname = dirname(__FILE__); 
define('APP_DIR', $dirname . '/APP'); 
define('NO_LEGACY_FLEAPHP', true); 
require($dirname.'/FleaPHP/FLEA/FLEA.php'); 
//设置缓存目录 
FLEA::setAppInf('internalCacheDir',$dirname.'/_Cache'); 
//链接数据库 
$dsn = array( 
'driver' => 'mysql', 
'host' => 'localhost', 
'login' => 'root', 
'password' => '', 
'database' => 'wordpress' 
); 
FLEA::setAppInf('dbDSN',$dsn); 
//读取wp_posts的内容 
FLEA::loadClass('FLEA_Db_TableDataGateway'); 
FLEA::loadClass('FLEA_Helper_Pager'); 
//FLEA::loadHelper('pager'); 
class Teble_Class extends FLEA_Db_TableDataGateway { 
var $tableName = 'wp_posts'; 
var $primaryKey = 'ID'; 
} 
$tableposts =& new Teble_Class(); 
$pager =& new FLEA_Helper_Pager($tableposts,2,5); 
$page = $pager->getPagerData(); 
print_r($page);

getPagerData 返回一些数据供调用
$data = array( 
'pageSize' => $this->pageSize, 
'totalCount' => $this->totalCount, 
'count' => $this->count, 
'pageCount' => $this->pageCount, 
'firstPage' => $this->firstPage, 
'firstPageNumber' => $this->firstPageNumber, 
'lastPage' => $this->lastPage, 
'lastPageNumber' => $this->lastPageNumber, 
'prevPage' => $this->prevPage, 
'prevPageNumber' => $this->prevPageNumber, 
'nextPage' => $this->nextPage, 
'nextPageNumber' => $this->nextPageNumber, 
'currentPage' => $this->currentPage, 
'currentPageNumber' => $this->currentPageNumber, 
);
PHP 相关文章推荐
shopex中集成的站长统计功能的代码简单分析
Aug 11 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
php设置静态内容缓存时间的方法
Dec 01 PHP
php数组随机排序实现方法
Jun 13 PHP
详解WordPress开发中get_header()获取头部函数的用法
Jan 08 PHP
微信支付PHP SDK ―― 公众号支付代码详解
Sep 13 PHP
PHP实现求连续子数组最大和问题2种解决方法
Dec 26 PHP
PHP函数积累总结
Mar 19 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
Apr 23 #PHP
PHP计划任务、定时执行任务的实现代码
Apr 23 #PHP
PHP导入Excel到MySQL的方法
Apr 23 #PHP
在php和MySql中计算时间差的方法
Apr 22 #PHP
PHP遍历二维数组的代码
Apr 22 #PHP
PHP中调用ASP.NET的WebService的代码
Apr 22 #PHP
PHP中输出转义JavaScript代码的实现代码
Apr 22 #PHP
You might like
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
phpinfo无法显示的原因及解决办法
2019/02/15 PHP
jquery.combobox中文api和例子,修复了上面的小bug
2011/03/28 Javascript
探讨javascript是不是面向对象的语言
2013/11/21 Javascript
javascript事件冒泡详解和捕获、阻止方法
2014/04/12 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
JS+CSS实现经典的左侧竖向滑动菜单效果
2015/09/23 Javascript
过期软件破解办法实例详解
2017/01/04 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
动态加载JavaScript文件的3种方式
2018/05/05 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
《javascript设计模式》学习笔记五:Javascript面向对象程序设计工厂模式实例分析
2020/04/08 Javascript
[01:19:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第二局
2016/03/05 DOTA
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Django Admin实现上传图片校验功能
2016/03/06 Python
python实现黑客字幕雨效果
2018/06/21 Python
Python多继承原理与用法示例
2018/08/23 Python
使用tensorflow实现线性回归
2018/09/08 Python
python多线程与多进程及其区别详解
2019/08/08 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
大学生自荐书范文
2013/12/10 职场文书
数控技术专业毕业自荐书范文
2014/02/05 职场文书
生产部厂长职位说明书
2014/03/03 职场文书
大学生通用个人自我评价
2014/04/27 职场文书
英语教师个人总结
2015/02/09 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android