ホームページ  >  記事  >  バックエンド開発  >  フリーphpの一般的なページネーション方法 - Pager_PHPチュートリアルの使い方

フリーphpの一般的なページネーション方法 - Pager_PHPチュートリアルの使い方

WBOY
WBOYオリジナル
2016-07-21 15:30:041159ブラウズ

ページャー分页関数数

复制代码代码如下:

/**
* コンストラクター
*
* $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
* @parammixed $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 ) として _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' => ; '',
'データベース' =>
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' =&g $ this->totalCount,
'count' => $this->count,
'pageCount' => $this->pageCount,
'firstPage' => firstPageNumber' =>$this->firstPageNumber、
'lastPage' =>$this->lastPageNumber、
'prevPage' => >prevPage、
'prevPageNumber' => $this->prevPageNumber、
'nextPage' => $this->nextPageNumber' => => $this->currentPage,
'currentPageNumber' => $this->currentPageNumber,
);

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/323267.html技術記事ページャー ページング関数のコピー コードは次のとおりです。 /** * Constructor* * $source パラメーターが TableDataGateway オブジェクトの場合、FLEA_Helper_Pager は * TDG オブジェクトの fin を呼び出します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。