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

 更新时间:2011年04月23日 20:05:35   作者:   我要评论

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->prevPage,
'prevPageNumber' => $this->prevPageNumber,
'nextPage' => $this->nextPage,
'nextPageNumber' => $this->nextPageNumber,
'currentPage' => $this->currentPage,
'currentPageNumber' => $this->currentPageNumber,
);

相关文章

  • php笔记之:AOP的应用

    php笔记之:AOP的应用

    你以前听说过AOP(Aspect Oriented Programming)吗?虽然在php方面,好像没有过多的使用,但是在企业级开发中,AOP被广泛使用。我将借此文,向大家介绍PHP方面的AOP
    2013-04-04
  • php实现有趣的人品测试程序实例

    php实现有趣的人品测试程序实例

    这篇文章主要介绍了php实现有趣的人品测试程序,涉及php针对字符串的转换操作技巧,需要的朋友可以参考下
    2015-06-06
  • php自定义截取中文字符串-utf8版

    php自定义截取中文字符串-utf8版

    本文主要介绍了php自定义截取中文字符串的方法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • PHP取整函数:ceil,floor,round,intval的区别详细解析

    PHP取整函数:ceil,floor,round,intval的区别详细解析

    以下是对PHP中的取整函数:ceil,floor,round,intval的区别进行了详细的介绍,需要的朋友可以过来参考下
    2013-08-08
  • php小技巧之过滤ascii控制字符

    php小技巧之过滤ascii控制字符

    分享一个小技巧,在PHP中如何过滤ascii控制字符,需要的朋友可以参考下
    2014-05-05
  • PHP5中新增stdClass 内部保留类

    PHP5中新增stdClass 内部保留类

    stdClass类是PHP的一个内部保留类,初始时没有成员变量也没成员方法,所有的魔术方法都被设置为NULL,可以使用其传递变量参数,但是没有可以调用的方法。
    2011-06-06
  • php基于Snoopy解析网页html的方法

    php基于Snoopy解析网页html的方法

    这篇文章主要介绍了php基于Snoopy解析网页html的方法,实例分析了使用Snoopy类解析html文件的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • PHP引用符&的用法详细解析

    PHP引用符&的用法详细解析

    以下是对PHP中引用符&的用法进行了详细的分析介绍。需要的朋友可以过来参考下
    2013-08-08
  • PHP 彩色文字实现代码

    PHP 彩色文字实现代码

    最近流行彩字,下面是简单的实现代码。喜欢php的朋友可以看看。
    2009-06-06
  • mac下多个php版本快速切换的方法

    mac下多个php版本快速切换的方法

    这篇文章主要给大家介绍了在mac下多个php版本快速切换的方法,本文先是给大家分享了使用brew安装php多版本的方法,而后才介绍了快速切换的实现方法,感兴趣的朋友们下面来一起看看吧。
    2016-10-10

最新评论