一般的な、「次/前ページ」やページ番号をクリックするとそのページの情報を表示(LIMITで範囲を指定)するのは出来ています。
ヤフーオークションのように
「1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ... 51 」
と言うように、一定のページ件数になると"..."で表示され、ページがクリックされると、そこから最大ページ数までの間、同じように”...”で表示される改ページの仕組みを作りたいと思っています。
このようなページナビゲーション、表示の仕方について参考となるサイトがありましたら、教えていただければと思います。
(出来れば、オープンソースを見ろというのは無しでお願いします。複雑なので、構造を把握するだけでも時間がかかりますので...)
サイトがなければ、ソースの組み立て方をアドバイスしていただければと思います。
Pear::Pager でどうでしょうか?
解説も一杯転がっています。
http://www.google.co.jp/search?q=php+pager+pear
検索結果をぼけーっと眺めたらこんなのも有りました。
#レンタルサーバ等でPearを入れられない場合はどうでしょう。
りょーちの駄文と書評:PEAR::Package::Pager を使わずphpでページング処理ができるpager()関数
http://www.usamimi.info/~ryouchi/pager/?show=source
教えてGooの回答を元にPAGER関数を作って見ました。
上記サイトに解説してありますので参考になれば幸いです。
SQLサーバでselectした時にcount等で総数が取得できると思います。
■CGI/PHP ページ処理 その1
http://fstyle.ddo.jp/archives/2005/10/cgiphp_1.html
■CGI/PHP ページ処理 その2
http://fstyle.ddo.jp/archives/2005/10/cgiphp_2.html
---------
■第24回 掲示板を作ろう(5) -掲示板の内容を10件ずつ表示しよう (その3)
http://www.phppro.jp/school/phpschool/vol24/3
---------
上記3つは、DB使ってませんけど、あまり関係ないでしょう。
------------------------------------------
ソース見なくても、外部からURL(引数)を見るだけでも
処理内容想定できると思われますが・・。
■Yomi-Search PHP
ソースはここにあります。
動作サンプル
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | GEN111 | 472回 | 444回 | 58回 | 2007-09-18 18:11:28 |
PEARは使っていません。というか、勉強の為に他のライブラリなどは使わずに出来る方法を探しています。
下のリンク先にある「教えてgoo!」の回答は参考にさせていただきます。