PHP+SQLite:テーブルの一覧出力

(1/1)
SQLのSELECT文を使い、テーブルの内容一覧を表示するプログラムを作ってみることにする。

(2022年11月13日)PHP8対応,他.

目次

サンプル・プログラムの実行例

PHP+SQLite:テーブルの一覧出力

サンプル・プログラム

圧縮ファイルの内容
list1.phpサンプル・プログラム本体。

解説:一覧を取り出すSQL文

  51: //実行するSQL
  52: define('SQL', "SELECT * FROM chronologic WHERE 1;");

一覧を取り出すSQL文は下記の通り。
SELECT * FROM chronologic WHERE 1;
WHERE句の後に '1' を置いているのは、「常に条件が成立する」という意味である。つまり、テーブル chronologic のすべてのレコードを取り出すというSELECT文になる。

解説:すべてのレコードを取り出す

 203:         foreach ($pdo->query($sqlas $row) {
 204:             $res .=<<< EOT
 205: <tr>
 206: <td class="index">{$row['name']}</td>           <!-- カラム name -->
 207: <td class="year">{$row['birth']}</td>           <!-- カラム birth -->
 208: <td class="year">{$row['death']}</td>           <!-- カラム death -->
 209: <td class="comment">{$row['comment']}</td>      <!-- カラム comment -->
 210: </tr>
 211: 
 212: EOT;
 213:         }

SQL実行とエラー処理は前回と同じである。
すべてのレコード、つまり、SQL文にマッチした複数のレコードを取り出すには foreach 文と組み合わせる。PDO::query が失敗するまで繰り返せば、1レコードずつデータを読み込むことができる。PDO::exec とは異なり、2週目からは PDOStatement オブジェクトからデータを取り出すので、パフォーマンスが低下することもない。

あとは、取り出したオブジェクトを配列 $row に入れ、それを画面表示するためのHTML文に変換するだけである。

参考サイト

(この項おわり)
header