SQLiteデータベースの特定のテーブルの全レコードを表で表示

SQLiteデータベースの特定のテーブルの全レコードを表で表示

SQLiteデータベースの特定の1つのテーブルから全てのレコードを読み込み、HTMLの表(table要素)で表示する方法。

サンプル

読み込むSQLiteデータベースのテーブルの内容

読み込むSQLiteデータベース「sample.db」のテーブル「sampleTable」の内容。

id itemName price
1 ギター 15000
2 ベース 13000
3 究極の音楽理論書 3000
4 キーボード 27000
5 コードリファレンス 1000

PHPコード

<?php

$dsn = 'sqlite:sampleDir/sample.db';

try{
    $dbh = new PDO( $dsn );
}catch( PDOException $error ){
    echo "接続失敗:".$error->getMessage();
    die();
}

$sql = 'select id, itemName, price from sampleTable';
$stmt = $dbh->query( $sql );

echo "<table>\n";
echo "\t<tr><th>id</th><th>itemName</th><th>price</th></tr>\n";
while( $result = $stmt->fetch( PDO::FETCH_ASSOC ) ){
    echo "\t<tr>\n";
    echo "\t\t<td>{$result['id']}</td>\n";
    echo "\t\t<td>{$result['itemName']}</td>\n";
    echo "\t\t<td>{$result['price']}</td>\n";
    echo "\t</tr>\n";
}
echo "</table>\n";

?>

↓↓↓出力結果↓↓↓

出力結果

HTMLコード

<table>
    <tr><th>id</th><th>itemName</th><th>price</th></tr>
    <tr>
        <td>1</td>
        <td>ギター</td>
        <td>15000</td>
    </tr>
    <tr>
        <td>2</td>
        <td>ベース</td>
        <td>13000</td>
    </tr>
    <tr>
        <td>3</td>
        <td>究極の音楽理論書</td>
        <td>3000</td>
    </tr>
    <tr>
        <td>4</td>
        <td>キーボード</td>
        <td>27000</td>
    </tr>
    <tr>
        <td>5</td>
        <td>コードリファレンス</td>
        <td>1000</td>
    </tr>
</table>

ブラウザ表示例

iditemNameprice
1 ギター 15000
2 ベース 13000
3 究極の音楽理論書 3000
4 キーボード 27000
5 コードリファレンス 1000

解説付きPHPコード

<?php

// 「sqlite:」の後に接続するデータベースをパス付きで指定する。
$dsn = 'sqlite:sampleDir/sample.db';

try{
    $dbh = new PDO( $dsn );
}catch( PDOException $error ){
    // 接続に失敗した場合、エラーメッセージを表示。
    echo "接続失敗:".$error->getMessage();
    die();
}

// SQL文を変数「$sql」に代入。
$sql = 'select id, itemName, price from sampleTable';

// SQL文の実行結果を変数「$stmt」に代入。
$stmt = $dbh->query( $sql );

echo "<table>\n";

echo "\t<tr><th>id</th><th>itemName</th><th>price</th></tr>\n";

// 「$stmt」からデータを取り出し、変数「$result」に代入。
// 「PDO::FETCH_ASSOC」を指定した場合、カラム名をキーとする連想配列として「$result」に格納される。
while( $result = $stmt->fetch( PDO::FETCH_ASSOC ) ){
    echo "\t<tr>\n";
    echo "\t\t<td>{$result['id']}</td>\n";
    echo "\t\t<td>{$result['itemName']}</td>\n";
    echo "\t\t<td>{$result['price']}</td>\n";
    echo "\t</tr>\n";
}

echo "</table>\n";

?>

スポンサード リンク

カテゴリー: PHP, SQLite, テーブル(表), データベース, 逆引き パーマリンク