MySQLデータベースの特定の1つのテーブルから全てのレコードを読み込み、HTMLの表(table要素)で表示する方法。
サンプル
読み込むMySQLデータベースのテーブルの内容
読み込むMySQLデータベース「sampleMySQL」のテーブル「sampletable」の内容。
id | itemName | price |
1 | ギター | 15000 |
2 | ベース | 13000 |
3 | 究極の音楽理論書 | 3000 |
4 | キーボード | 27000 |
5 | コードリファレンス | 1000 |
PHPコード
<?php
$dsn = 'mysql:dbname=sampleMySQL;host=localhost';
$user = 'ユーザー名';
$password = 'パスワード';
try{
$dbh = new PDO( $dsn, $user, $password );
}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";
?>
$dsn = 'mysql:dbname=sampleMySQL;host=localhost';
$user = 'ユーザー名';
$password = 'パスワード';
try{
$dbh = new PDO( $dsn, $user, $password );
}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>
<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>
ブラウザ表示例
id | itemName | price |
---|---|---|
1 | ギター | 15000 |
2 | ベース | 13000 |
3 | 究極の音楽理論書 | 3000 |
4 | キーボード | 27000 |
5 | コードリファレンス | 1000 |
解説付きPHPコード
<?php
// 「mysql:」の後に接続するデータベースを指定する。
$dsn = 'mysql:dbname=sampleMySQL;host=localhost';
$user = 'ユーザー名';
$password = 'パスワード';
try{
$dbh = new PDO( $dsn, $user, $password );
}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";
?>
// 「mysql:」の後に接続するデータベースを指定する。
$dsn = 'mysql:dbname=sampleMySQL;host=localhost';
$user = 'ユーザー名';
$password = 'パスワード';
try{
$dbh = new PDO( $dsn, $user, $password );
}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";
?>