データを取り出す
昨日の続きです。
<?php $sql = "SELECT * FROM bbs ORDER BY id DESC"; $res = mysql_query($sql, $db) or die("データ抽出エラー"); // 取得したデータを1件ずつ表示する while ($row = mysql_fetch_array($res, MYSQL_ASSOC)) { echo "<hr>"; echo $row["name"]; echo "(" . date("Y/m/d H:i", strtotime($row["datetime"])) . ")"; echo "<p>" . nl2br($row["com"]) . "</p>"; } ?>
これまたほとんどサンプル丸写しですが、考えながら見ていきます。
$sql = "SELECT * FROM bbs ORDER BY id DESC";
SELECT * FROM テーブル名 ORDER BY 条件
という文法ですね。
idは連番の一意の数字ですからwhileで表示するのに丁度いいです。
DESCは降順の意味で、無事に全件表示されました。
あとは日付の取り出しがstrtotimeでやるってこと…INSERT時にはdate("Y/m/d H:i")でしたけど、取り出す時はまたdateで取得し直せるみたい。
もっと考える。ページ分割表示。
x件ごとにページ送りを付ける。この場合は
SELECT * FROM テーブル名 ORDER BY 条件 LIMIT はじまりの数字,終わりの数字
で指定した範囲が得られる
これでページ送り実装できる!と思ったらひとつ問題が。
レコードの総数がわからない。countを使えばいいのか、どうもうまくいかない。次までの課題にする。