3) ページング処理–Pager

Webアプリケーションで検索結果などを表示する場合、1ページですべて表示するよりも複数ページに分割すると読みやすくなります。Pagerライブラリーを使用すると、このようなページング処理を簡単に実現することができます。
インターネットリサーチ・コンサルティング・企画、ウェブ翻訳から、Web制作、システム開発までオープンソース・ネットワークビジネスを提供

1ページに表示

まず、10件のデータを1ページに表示してみましょう。

<?php $data = array(
       '1件目のデータ',
       '2件目のデータ',
       '3件目のデータ',
       '4件目のデータ',
       '5件目のデータ',
       '6件目のデータ',
       '7件目のデータ',
       '8件目のデータ',
       '9件目のデータ',
       '10件目のデータ');    ---(1)

foreach ($data as $val) {
  echo $val . '<br>';         ---(2)
}
?>


(1):10件のデータを配列に格納します
(2):順番にデータを表示します

ブラウザーからこのファイルにアクセスしてみると、10件のデータが1ページに表示されます。

ページング処理

このデータを1ページ4件ずつ3ページで表示するようにページング処理します。

<?php $data = array(
       '1件目のデータ',
       '2件目のデータ',
       '3件目のデータ',
       '4件目のデータ',
       '5件目のデータ',
       '6件目のデータ',
       '7件目のデータ',
       '8件目のデータ',
       '9件目のデータ',
       '10件目のデータ');

require_once 'Pager/Pager.php';      ---(1)

$params = array(               ---(2)
 'itemData'  => $data,           ---(3)
 'perPage'  => 4              ---(4)
);

$pager = & Pager::factory($params);   ---(5)

$pages = $pager->getPageData();     ---(6)
$links = $pager->getLinks();        ---(7)

foreach ($pager->getPageData() as $val) {
  echo $val . '<br>';             ---(8)
}

echo '<p>' . $links['all'] . '</p>';       ---(9)
?>


(1):Pagerライブラリーを読み込みます
(2):Pagerオブジェクトの生成に必要なオプションを設定します
(3):itemDataパラメータにはページング対象データを指定します
(4):perPageパラメータには1ページあたりに表示する件数を指定します
(5):オプションを指定してPagerオブジェクトを生成します
(6):PagerオブジェクトのgetPageData ()メソッドでカレントページに表示するデータを取得します
(7):PagerオブジェクトのgetLinks ()メソッドでページリンク情報を取得します
(8):カレントページのデータを出力します
(9):ページリンクを表示します

ブラウザーからこのファイルにアクセスしてみると、1ページ4件ずつ3ページで表示するようにページング処理されたことが確認できます。


      1ページ目               2ページ目              3ページ目

このように、Pagerライブラリーを使うと、ほんの数行加えるだけで有名検索サイトのようなユーザビリティが実現できます。

次回は、認証処理を簡単に行えるAuthパッケージをご紹介します。

関連キーワード
PHP、PEAR、Webアプリケーション、開発効率、プログラミング、Pager、ページング、ユーザビリティ

このエントリーのトラックバックURL

http://it.jfe-tec.jp/mt/mt-tb.cgi/51