Pager
の編集
https://yassu.jp/pukiwiki/index.php?Pager
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
*全件データを取得する場合 [#vaa12fc9] 小規模データベース向き $sql = 'SELECT * FROM table'; $itemData = $mdb2->queryAll($sql); require_once('Pager.php'); $extraVars = array( 'F' => 'function' , 'A' => 'action' ); $params = array( 'perPage' => 5 , 'itemData' => $itemData , 'importQuery' => FALSE , 'extraVars' => $extraVars ); $pager = Pager::factory($params); $data = $pager->getPageData(); $links = $pager->getLinks(); *全件数のみ取得し、後から必要データのみを取得する場合 [#pb651aec] 大規模データベース向き $sql = 'SELECT * FROM table'; $res = $mdb2->query($sql); $total = $res->numRows(); require_once('Pager.php'); $extraVars = array( 'F' => 'function' , 'A' => 'action' ); $params = array( 'perPage' => 5 , 'totalItems' => $total , 'importQuery' => FALSE , 'extraVars' => $extraVars ); $pager = Pager::factory($params); list($from, $to) = $pager->getOffsetByPageId(); $links = $pager->getLinks(); $mdb2->setLimit($params['perPage'], $from - 1); $data = $mdb2->queryAll($sql); *Rewriteしたりしている場合 [#ub37181e] $sql = 'SELECT * FROM table'; $itemData = $mdb2->queryAll($sql); require_once('Pager.php'); $params = array( 'path' => '/user/'.$user_id , 'append' => FALSE , 'fileName' => '?pageID=%d' , 'perPage' => 5 , 'itemData' => $itemData ); $pager = Pager::factory($params); $data = $pager->getPageData(); $links = $pager->getLinks(); 全データ数 $total = $pager->numItems(); 現在のページ $current = $pager->getCurrentPageID(); 全ページ数 $all = $pager->numPages();
タイムスタンプを変更しない
*全件データを取得する場合 [#vaa12fc9] 小規模データベース向き $sql = 'SELECT * FROM table'; $itemData = $mdb2->queryAll($sql); require_once('Pager.php'); $extraVars = array( 'F' => 'function' , 'A' => 'action' ); $params = array( 'perPage' => 5 , 'itemData' => $itemData , 'importQuery' => FALSE , 'extraVars' => $extraVars ); $pager = Pager::factory($params); $data = $pager->getPageData(); $links = $pager->getLinks(); *全件数のみ取得し、後から必要データのみを取得する場合 [#pb651aec] 大規模データベース向き $sql = 'SELECT * FROM table'; $res = $mdb2->query($sql); $total = $res->numRows(); require_once('Pager.php'); $extraVars = array( 'F' => 'function' , 'A' => 'action' ); $params = array( 'perPage' => 5 , 'totalItems' => $total , 'importQuery' => FALSE , 'extraVars' => $extraVars ); $pager = Pager::factory($params); list($from, $to) = $pager->getOffsetByPageId(); $links = $pager->getLinks(); $mdb2->setLimit($params['perPage'], $from - 1); $data = $mdb2->queryAll($sql); *Rewriteしたりしている場合 [#ub37181e] $sql = 'SELECT * FROM table'; $itemData = $mdb2->queryAll($sql); require_once('Pager.php'); $params = array( 'path' => '/user/'.$user_id , 'append' => FALSE , 'fileName' => '?pageID=%d' , 'perPage' => 5 , 'itemData' => $itemData ); $pager = Pager::factory($params); $data = $pager->getPageData(); $links = $pager->getLinks(); 全データ数 $total = $pager->numItems(); 現在のページ $current = $pager->getCurrentPageID(); 全ページ数 $all = $pager->numPages();
テキスト整形のルールを表示する