加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

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

发布时间:2020-05-24 20:03:10 所属栏目:PHP 来源:互联网
导读:fleaphp常用方法分页之Pager使用方法,需要的朋友可以参考下。

Pager 分页函数
<div class="codetitle"><a style="CURSOR: pointer" data="53242" class="copybut" id="copybut53242" onclick="doCopy('code53242')"> 代码如下:<div class="codebody" id="code53242">
/*
构造函数

如果 $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 使用示例(实例)
<div class="codetitle"><a style="CURSOR: pointer" data="44956" class="copybut" id="copybut44956" onclick="doCopy('code44956')"> 代码如下:<div class="codebody" id="code44956">
$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 返回一些数据供调用
<div class="codetitle"><a style="CURSOR: pointer" data="22929" class="copybut" id="copybut22929" onclick="doCopy('code22929')"> 代码如下:<div class="codebody" id="code22929">
$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,
);

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读