PEAR Pagerクラスを使う
検索結果などのデータ数が多い場合に前後にページさせるページング処理が一様に必要となりますが、このPagerクラスを利用すれば、比較的スムーズにページャー機能を実装することが出来ます。そこで、簡単なサンプルコードと動作デモを掲載します。
まず、PEARリストで、Pagerパッケージがインストールされていない場合は、コマンドプロンプトを使うなどしてインストールをします。
Pager PEARマニュアル
まず、PEARリストで、Pagerパッケージがインストールされていない場合は、コマンドプロンプトを使うなどしてインストールをします。
>pear install Pager
Pager PEARマニュアル
一般的なジャンプ型のサンプルコードです。

動作デモ
もう一方の、スライド型のサンプルには、firstPageText(最初ページ番号の文字表示)、lastPageText(最後のページ番号の文字表示)のパラメータを付け加えてみました。( 連想配列の太字部分 )
Pager::factory()
にパラメータ一覧に説明があります。用途に合わせて、配列にパラメータを加えて改良するとよいでしょう。
スライド型サンプルのパラメータ連想配列です。
以上です。
人気ブログランキングへ

<?php
//Pagerをインクルードします
require_once("Pager/Pager.php");
$perPage = 10; // ページごとのアイテム数10
$totalItems = 300; // ページ付け全アイテム数
$params = array(
"totalItems" => $totalItems,
"perPage" => $perPage,
"delta" =>5, // 前後に表示するページ番号数
"mode" =>"Jumping", // ページャーの型 ジャンプ型かスライド型
);
//パラメータの連想配列を受け取る
$pager =& Pager::factory($params);
//戻る/次最初/最後のリンクとページリンクを返す
$link = $pager -> getLinks();
//現在のページ番号を返す
$currentPageID = $pager -> getCurrentPageID();
// ナビゲーションリンクを表示
echo $link['all']."<br>\n";
echo "<p>".$totalItems."件見つかりました。";
//現在のページ番号を表示
echo $currentPageID."ページ目を表示<br>\n";
?>
//Pagerをインクルードします
require_once("Pager/Pager.php");
$perPage = 10; // ページごとのアイテム数10
$totalItems = 300; // ページ付け全アイテム数
$params = array(
"totalItems" => $totalItems,
"perPage" => $perPage,
"delta" =>5, // 前後に表示するページ番号数
"mode" =>"Jumping", // ページャーの型 ジャンプ型かスライド型
);
//パラメータの連想配列を受け取る
$pager =& Pager::factory($params);
//戻る/次最初/最後のリンクとページリンクを返す
$link = $pager -> getLinks();
//現在のページ番号を返す
$currentPageID = $pager -> getCurrentPageID();
// ナビゲーションリンクを表示
echo $link['all']."<br>\n";
echo "<p>".$totalItems."件見つかりました。";
//現在のページ番号を表示
echo $currentPageID."ページ目を表示<br>\n";
?>

動作デモ
もう一方の、スライド型のサンプルには、firstPageText(最初ページ番号の文字表示)、lastPageText(最後のページ番号の文字表示)のパラメータを付け加えてみました。( 連想配列の太字部分 )
Pager::factory()
にパラメータ一覧に説明があります。用途に合わせて、配列にパラメータを加えて改良するとよいでしょう。
スライド型サンプルのパラメータ連想配列です。
$params = array(
"totalItems" => $totalItems,
"perPage" => $perPage,
"delta" =>3,
"mode" =>"sliding",
"firstPageText" => "first",
"lastPageText" => "last",
);
"totalItems" => $totalItems,
"perPage" => $perPage,
"delta" =>3,
"mode" =>"sliding",
"firstPageText" => "first",
"lastPageText" => "last",
);
以上です。
人気ブログランキングへ

Comment




