« 日々の記録 | メイン | 甲冑通信(仮) »

PEARのDB_Pager

googleなんかの検索結果が複数ページある場合、

1 2 3 4 5 6 7 8 9 次へ

というふうに、頁番号が表示されるのはご存じの通り。
これに近い表示を行う為のライブラリがDB_Pager

使い方は・・・

include_once("DB_Pager/Pager.php");
// 適当にDB処理
$pager = DB_Pager::getData($start,$limit,$total,10);
foreach($pager['pages'] as $key => $val){
 if($key == $pager['current']){
  // カレントページ
  $buff .= " <b>" . $key . "</b> ";
 }else{
  // それ以外
  $buff .= sprintf(" <a href=list.php?start=%s>%d</a> ",$val,$key);
 }
}


みたいナァ〜。

getDataのパラメータの意味は、左から、今表示している番号、一頁あたりの表示数、トータル数、ページ番号をいくつ表示するか。

$pagerの連想配列には、下記のようなkeyでデータが帰ってくる。
DB_Pager-sample.png
(色の対応を見てね)

全部で15ページあって、今10ページ目を表示していて、今の頁番号だけ、リンクを張らない・・という処理は自前でやらないといけない。まぁ、まずはprint_rで内容を見れば意味はすぐ分かると思う
まぁ、若干動作に気に入らないところがあるけど、十分ですな。

...2004.10.29追記
Nega Diary: PEAR DB_Pager
に、もう少し詳しい使い方を追加。

コメントを投稿

2008年10月

      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  

最近のコメント

小優 on 日々の記録: DELL4600Cで
よしぞう on 日々の記録: 4600C 表記の対
よしぞう on 日々の記録: 4600C 表記の対
on MySQL後で調べるメモ: DB接続後 目的のS
on 日々の記録: 「無くなった留め具」
on JavaScriptでクロスドメイン: >しかし、こういう小
junp on iMovieで静止画を取り込むと荒い: すいません困ってます
う〜ん・・・ on 素朴な疑問: にょうをした、きたな
困ってました on ATOKとIME2005が勝手に切り替わる問題: 何故か勝手に切り替わ
go on 日々の記録: 4600C、同じ症状

アーカイブ