Pager クラスを使ったページング
PHPのpearのPagerクラスを使って簡単にページングする方法です。
インストール
PagerはPearのライブラリの一つなので、まず最初にPearをインストールします。
1 | # yum -y install php-pear |
Pearがインストールされたので続いてPagerをインストールします。
1 | # pear install Pager |
使い方
簡単なソースで確認していきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <!--?php // require文を使って、Pagerクラスを読み込みます。 require_once("Pager/Pager.php"); for ($i = 0;$i < 100;$i++) { // 表示する配列を作成します。 $items[$i]['title'] = $i."番目のタイトル"; $items[$i]['content'] = "~".$i."番目の本文~"; } $perPage = 15; // オプションの設定をします。詳しいオプションは下記URLを参照 $params = array( "perPage"=>$perPage, "itemData" => $items, "firstPagePre"=>"=", "firstPageText"=>"TOP", "firstPagePost"=>"=", "lastPagePre"=>"=", "lastPageText"=>"LAST", "lastPagePost"=>"=", ); // ここでページングの処理をします。オプションで設定した配列を渡します。 $pager = Pager::factory($params); // ナビゲーションリンクを作成します。 $navi = $pager->getLinks(); print($navi['all']."<br?-->"); // ナビゲーションリンク表示 print($pager->numItems()."件中 "); $scope = $pager->getOffsetByPageId(); print($scope['0']."件目から".$scope['1']."件目を表示 "); // データの配列を表示 $ary = $pager->getPageData(); print(" |
“); foreach ($ary as $key => $val) { print(“”); print(“”); print(“”); } print(”
“.$val[‘title’].” | “.$val[‘content’].” |
“); print($navi[‘all’]); ?>
このように自作で実装するよりも簡単にできます。
今回は表示するデータの配列を作成して簡単にやりましたが、DBのデータを表示するときや
テンプレートエンジンを使った実装も可能です。
オプションのパラメーターはPearの公式サイトに載っています。
http://pear.php.net/manual/ja/package.html.pager.factory.php
参考サイトです。
PEAR::Pager – 大きなデータをページング処理で分割する
Author Profile
スターフィールド編集部
SHARE