- 締切済み
PHPでのページ分割について
PHPを勉強中の初心者なのですが、現在PHPとMySQLを用いて、練習用に簡単な掲示板を作っています。 トップ画面には投稿されたもののタイトルが一覧で表示されているのですが、内容が多くなってきたときのために、10件づつ一覧を分割して表示したいと考えております。 ただ、自分で調べてみてもなかなか難しく、今回質問させて頂きました。 ページのリンクの理想としましては、 |先頭のページへ|前のページへ|1|2|3|…|次のページへ|最後のページへ| の様にしたいです。 あつかましいですが、できるだけ詳細に教えて頂ければ幸いです。 どなたか助けてください>< よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tany180sx
- ベストアンサー率63% (239/379)
ミスりました。 //前のページ $prev = ($current > 1) ? $current - 1 : null; PEAR_Pagerみたいなスライド型が好きです。 http://pear.php.net/manual/ja/package.html.pager.intro.php
- tany180sx
- ベストアンサー率63% (239/379)
//総件数を取得する $count = query("SELECT COUNT(*) FROM (..)"); //1ページあたりの表示件数 $limit = 10; //現在のページ $current = empty($_GET['page']) ? 1 : $_GET['page']; //最初のページ $first = 1; //最後のページ $last = ($count && $limit) ? @ceil($count / $limit) : null; //前のページ $prev = ($current > 1) > $current - 1 : null; //次のページ $next = ($current < $last) ? $current + 1 : null; //表示する範囲 $queryOffset = ($page) ? $limit * ($page - 1) : 0; $queryLimit = $limit; //リンクを作る if ($first) {} if ($prev) {} if ($next) {} if ($last) {} for ($i = 1; $i <= $last; $i++) {} //動作保証なし
- Mizyu
- ベストアンサー率41% (245/593)
情報が少ないので具体的なコードレベルのアドバイスはできないので、概念だけ。 DBから取得してくる、掲示板の記事を10件ごとに細切れに取得できるようにする。 ページを飛ばすリンクでページ数をGetパラメータで渡してあげる。 例) aaa.php?page=2 aaa.phpの先頭では、Getで渡されたページを受け取る。(無かった場合は1ページ目にする) 例) if(isset($_REQUEST['page'])) $page=$_REQUEST['page']; else $page=1; ※$pageにページ数が入ります。 そのページ数に適応したレコードを表示する。 ちなみに、ページャ付BBSのソースなら探せばどこかにありますので 参考にしてみてはいかがでしょうか。