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

2015-01-24信息快讯网

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, 
); 
仿Aspnetpager的一个PHP分页类代码 附源码下载
Windows下部署Apache+PHP+MySQL运行环境实战
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
php插入中文到sqlserver 2008里出现乱码的解决办法分享
UCenter 批量添加用户的php代码
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
apache+codeigniter 通过.htcaccess做动态二级域名解析
php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
php安全之直接用$获取值而不$_GET 字符转义
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
Notice: Trying to get property of non-object problem(PHP)解决办法
fgetcvs在linux的问题
fleaphp crud操作之findByField函数的使用方法
PHP中限制IP段访问、禁止IP提交表单的代码
PHP中调用ASP.NET的WebService的代码
php将fileterms函数返回的结果变成可读的形式
写php分页时出现的Fatal error的解决方法
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
The specified CGI application misbehaved by not returning a complete set of HTTP headers
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
php expects parameter 1 to be resource, array given 错误
php GeoIP的使用教程
PHP下通过file_get_contents的代理使用方法
php文件上传表单摘自drupal的代码
php5 apache 2.2 webservice 创建与配置(java)
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
Php Image Resize图片大小调整的函数代码
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
php与paypal整合方法
Notice: Undefined index: page in E:\PHP\test.php on line 14
©2014-2024 dbsqp.com