/**

* 构造函数

*

* 如果 $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 pager,fleaphp常用方法分页之Pager使用方法相关推荐

  1. jquery pager 访问 java_jquery.pager.js实现分页效果

    本文实例为大家分享了jquery.pager.js实现分页的具体代码,供大家参考,具体内容如下 1.html {{maxPage}} {{title}} {{page}} var title =jQu ...

  2. mysql pager cat_有趣的mysql pager命令

    一.分页结果集 在Linux系统中,我们经常也会使用一些分页查看命令,例如less.more等.同样,MySQL客户端也提供了类似的命令,用来帮助我们对查询结果集进行分页.比如,SHOW ENGINE ...

  3. android之tab分页标签的实现方法,Android应用中使用ViewPager和ViewPager指示器来制作Tab标签...

    一.ViewPageIndicator开源框架的基本用法我们先得去Github上面下载这个库,下载地址:https://github.com/JakeWharton/Android-ViewPager ...

  4. mysql百万数据 查总数都特别慢_mysql百万级数据分页查询缓慢优化方法

    参考网址1:https://www.cnblogs.com/nightOfStreet/p/9647926.html           -------------修改需求 一.与产品商讨 修改需求 ...

  5. 在SQL Server中分页结果的最佳方法是什么

    如果您还希望获得结果总数(在进行分页之前),那么在SQL Server 2000.2005.2008.2012中对结果进行分页的最佳方法是(性能明智的)? #1楼 最终, Microsoft SQL ...

  6. MongoDB学习笔记~为IMongoRepository接口添加分页取集合的方法

    回到目录 对于数据分页,我们已经见的太多了,几乎每个列表页面都要用到分页,这已经成了一种定理了,在进行大数据展示时,如果不去分页,而直接把数据加载到内存,这简直是不可以去相向的,呵呵,在很多ORM工具 ...

  7. Yii实现分页的两种方法

    Yii实现分页的两种方法,一种是用DAO实现,另外一种是在widget实现. 各有优点吧,第一种效率会高一点, 第二种可以使用自带的表格,方便一些. 一. DAO实现分页. [Controller层] ...

  8. java oracle分页查询语句_oracle分页查询语句,java得到分页查询语句的方法

    oracle分页查询语句 select * from ( select a.*, rownum rn from (select * from table_name) a where rownum &l ...

  9. JAVA中oracle分页语句,oracle分页查询语句,java得到分页查询语句的方法

    oracle分页查询语句 select * from ( select a.*, rownum rn from (select * from table_name) a where rownum &l ...

  10. 分页存储管理的基本方法

    相关定义 地址结构 地址结构=页号+页内地址(位移量) 如下图所示: 页面大小:指分页中的一页的大小,知道页面大小可以求得页内地址位数 比如页面大小为1KB,1kB等于2的10次方,故可求得业内地址为 ...

最新文章

  1. vscode 在ubuntu的terminal中下划线不显示解决方案
  2. redis 集群搭建_Redis分布式缓存分布式集群搭建
  3. Day 28: OpenShift的Eclipse集成
  4. 六个经典的HTML5面试问题奉上,太有用啦!
  5. MFC多标签页对话框
  6. Android之在Java socket作为服务器里面返回数据头部怎么写入浏览器需要下载文件的文件名
  7. uvalive 4973 Ardenia
  8. HDU1878-欧拉回路(入门题+并查集)
  9. php中fread()函数,php fread()函数
  10. OGNL表达式的特殊的符号
  11. Git 看这一篇就够了!
  12. 银行家算法检测死锁c语言,[算法]操作系统进程调度与通信算法 Dijkstra银行家算法 C语言实现 | 李大仁博客...
  13. Mybatis使用技巧
  14. win10 物理按键映射、快捷键修改
  15. matlab实现像素分类,定义使用 Tversky 损失的自定义像素分类层
  16. 纯CSS3制作优惠券线性UI效果
  17. jsonobject中getkey_获取JSON中所有的KEY
  18. bochs+linux可上网版,bochs win7镜像可
  19. mfs网络分布式文件系统、高可用、iscsi存储方式的mfs、fence
  20. android加法计算器代码,Android实现简单加法计算器

热门文章

  1. android 图片合成pdf文件,教你怎么把多张图片合成一个pdf文件
  2. java2wsdl_Axis2用法:JAVA2WSDL和WSDL2JAVA
  3. 一个Keil工程包含的内容
  4. OCR识别扫描版PDF文件(Python版)
  5. pip下载安装包默认位置_修改pip 下载模块或软件的默认文件夹
  6. 在PHP网页中显示MySQL数据库内容
  7. Linux下安装yum源
  8. 回头看看中国互联网二十年,未来很清晰
  9. 计算机专业技术面试题
  10. 《人件》(Peopleware)文摘