dポイントプレゼントキャンペーン実施中!

今掲示板を作っていて、いろいろと検索かけてみたのですが、ページングには$_GETまたはセッションを使えばできると理解したのですが、セッションの使い方が解りません;;(教えていただけたら幸いです)

なので、$_GETを使ってみることにしました。
例えば、
bbs.php(書き込み表示用)では、1ページ5件表示したいと思います。
5件を越したら、次のページに行くために、「1 2 3」 といようにしたいです。

いまいち$_GETの使い方もわからないのですが、とのようにプログラムを書けばできるのでしょうか?

簡単なソースかいていただけると助かります><;

http://detail.chiebukuro.yahoo.co.jp/qa/question …
↑と同じような質問なのですが、ソースが書いておらず、理解できなかったので質問させてもらいました!

A 回答 (2件)

ごく簡単にファイルから1行1記事として読み込むとするとこんな感じですかねぇ・・。



  <?php
  $kjmax = 5;
  $no = 1;
  if ($_GET) { $no = $_GET['no']; }
  $kiji = file('kiji.txt');
  $kj = 0;
  $ct = 0;
  foreach ($kiji as $item) {
    if ($ct >= $kjmax) { break; }
    $kj++;
    if ($kj < $no) { continue; }
    print $kj . "番目の記事:";
    print trim($item) . "<br>\n";
    $ct++;
    }

  if ($no != 1) {
    print "[<a href=\"?no=" . ($no - $kjmax) . "\">Prev</a>]:";
    }
  $ct = 0;
  for ($i = 1; $i <= sizeof($kiji); $i +=5) {
    $ct++;
    if ($i != 1) { print ":"; }
    print "<a href=\"?no=" . ($i) . "\">" . $ct . "</a>";
    }
  if ($kj < sizeof($kiji)) {
    print ":[<a href=\"?no=" . ($no + $kjmax) . "\">Next</a>]";
    }
  print "<br>\n";
  ?>

もちろんforeachでcontinueとかしなくてもやり方はいろいろあると思います。DBから読むほうがlimitとか使えて楽かもしれません(次データの有無も「読んでみる」だけだし)。
    • good
    • 0

データをどのように持っているかによりますね。


質問者さんの頭のなかまでは回答者はわからないので・・・。

全体の件数が何件あるかはどうやって調べるつもりですか?
それがわかれば、多少フォローがつきやすくなると思いますが。

この回答への補足

さっそくの回答ありがとうございます!

えっとですね・・・
まず、構成はこんな感じです↓
-------------------------------
bbs.php(表示用)
bbs-toukou.php(投稿用)
log.log(書き込みログ)
num.log(記事件数)
-------------------------------
で、投稿ページで書き込みすると、ログに書き込まれます。
それで、bbs.phpでは、feofを使ってログの内容を全部表示している。
という形になってます!

今の段階では全体の件数は、num.log(記事件数)を読み込んで調べています!


まだ、プログラミング初心者なので、DBを使うには早いとおもったので、DBを使わずに、ページング処理を実現したいと思い投稿しました!

補足日時:2008/01/28 19:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!