当前位置: 网学 > 编程文档 > PHP > 正文

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

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/21

网学网为广大网友收集整理了,fleaphp常用方法分页之Pager使用方法,希望对大家有所帮助!

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->pr

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号