MySQLのテーブルをWebページに表示

 

MySQLのテーブルをWebページに表示する

 

 

どのテーブルを表示させるんですか?

 

 

 

 

前に作ったデータベース「itijiku_db001」の中のテーブル「tbl_itijiku001」

 

 

 

 

 

 

まあ、また小桜さんのことを悪く書いて。

 

 

 

それでは、そうですね、、、まずは分かりやすいようにテーブルの氏名を全部表示してみましょう。

 

<?php
//データベースに接続するための各情報を変数に入れる。
//データベースサーバ名を変数に入れる。
$dbsv = 'mysql***.db.sakura.ne.jp'; //データベース名を変数に入れる。 $dbnm = 'itijiku_db001'; //データベース ユーザ名を変数に入れる。 $dbid = 'itijiku'; //データベース接続用パスワードを変数に入れる。 $pass = 'itijikunopass';
//PDOによりデータベースに接続する。
//意図しないエラー時にDB接続情報が表示されないようにtry-catch構文で書く。
try {
$pdo_obj = new PDO('mysql:host='.$dbsv.'; dbname='.$dbnm, $dbid, $pass);
$pdo_obj->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo_obj->exec('SET NAMES utf8');
//テーブルの全データを抽出するSQLを変数に格納する。
$sql= "SELECT * FROM tbl_itijiku001";
$stmt = $pdo_obj->query($sql);
while ($tbl_row001 = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo htmlspecialchars($tbl_row001['氏名']);
}
}catch(PDOException $e) {
die('失敗したよ、、、どうして(泣): '.$e->getMessage());
}
$pdo_obj = null;
?>

【実行結果】

滾々川 いちじく花ノ根 くるり小桜 文鳥

 

 

 

うん、いい感じ。

次はテーブル形式で表示させたいな

 

 

 

HTMLとPHPが混在しますから、コードは少々分かりづらくないりますが、頑張って作ってみましょう。

 

 

 

 

 

 

<?php
//データベースに接続するための各情報を変数に入れる。
//データベースサーバ名を変数に入れる。
$dbsv = 'mysql***.db.sakura.ne.jp'; //データベース名を変数に入れる。 $dbnm = 'itijiku_db001'; //データベース ユーザ名を変数に入れる。 $dbid = 'itijiku'; //データベース接続用パスワードを変数に入れる。 $pass = 'itijikunopass';
//PDOによりデータベースに接続する。
//テーブル見出しのHTMLコードをピアドキュメントで出力
$midashi_tbl = <<<EOD
<table border="1" style="border-collapse: collapse">
<tr>
<th width="60">項番</th>
<th width="140">氏名</th>
<th width="350">説明</th>
<th width="200">URL</th>
</tr>
EOD; echo $midashi_tbl;
//意図しないエラー時にDB接続情報が表示されないようにtry-catch構文で書く。
try {
$pdo_obj = new PDO('mysql:host='.$dbsv.'; dbname='.$dbnm, $dbid, $pass);
$pdo_obj->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo_obj->exec('SET NAMES utf8');
//テーブルの全データを抽出するSQLを変数に格納する。
$sql= "SELECT * FROM tbl_itijiku001";
$stmt = $pdo_obj->query($sql);
while ($tbl_row001 = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<tr>";
echo "<th>". htmlspecialchars($tbl_row001['項番'])."</th>";
echo "<th>". htmlspecialchars($tbl_row001['氏名'])."</th>";
echo "<th>". htmlspecialchars($tbl_row001['説明'])."</th>";
echo "<th>". htmlspecialchars($tbl_row001['URL'])."</th>";
echo "</tr>";
}
echo "</table>";
}catch(PDOException $e) {
die('失敗したよ、、、どうして(泣): '.$e->getMessage());
}
$pdo_obj = null;
?>

【実行結果】

項番 氏名 説明 URL
1滾々川 いちじくグレートガールhttp://kurukuru.o0o0.jp/contents/chara_itijiku.php
2花ノ根 くるり優しいhttp://kurukuru.o0o0.jp/contents/chara_kururi.php
3小桜 文鳥(`A´)でべそ!http://kurukuru.o0o0.jp/contents/chara_buncyou.php

 

 

順調ですね。今回の書き方は、echoのダブルクオーテーションで囲った箇所がHTMLコードの部分、それを「.」でPHPコードの部分と結合してるんですね。

 

 

それではお次は、氏名のところにURLをハイパーリンクしてみましょう。

 

 

 

うー

多分、aタグに「tbl_itijiku001」の「URL」項目を出力させればいいんだよね

 

<?php
//データベースに接続するための各情報を変数に入れる。
//データベースサーバ名を変数に入れる。
$dbsv = 'mysql***.db.sakura.ne.jp'; //データベース名を変数に入れる。 $dbnm = 'itijiku_db001'; //データベース ユーザ名を変数に入れる。 $dbid = 'itijiku'; //データベース接続用パスワードを変数に入れる。 $pass = 'itijikunopass';
//PDOによりデータベースに接続する。
//テーブル見出しのHTMLコードをピアドキュメントで出力
$midashi_tbl = <<<EOD
<table border="1" style="border-collapse: collapse">
<tr>
<th width="60">項番</th>
<th width="140">氏名</th>
<th width="350">説明</th>
<th width="200">URL</th>
</tr>
EOD;
echo $midashi_tbl;
//意図しないエラー時にDB接続情報が表示されないようにtry-catch構文で書く。
try {
$pdo_obj = new PDO('mysql:host='.$dbsv.'; dbname='.$dbnm, $dbid, $pass);
$pdo_obj->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo_obj->exec('SET NAMES utf8');
//テーブルの全データを抽出するSQLを変数に格納する。
$sql= "SELECT * FROM tbl_itijiku001";
$stmt = $pdo_obj->query($sql);
while ($tbl_row001 = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<tr>";
echo "<th>". htmlspecialchars($tbl_row001['項番'])."</th>";
echo "<th><a href=". htmlspecialchars($tbl_row001['URL']).">";
echo htmlspecialchars($tbl_row001['氏名']);
echo "</a></th>";
echo "<th>". htmlspecialchars($tbl_row001['説明'])."</th>";
echo "<th>". htmlspecialchars($tbl_row001['URL'])."</th>";
echo "</tr>";
}
echo "</table>";
}catch(PDOException $e) {
die('失敗したよ、、、どうして(泣): '.$e->getMessage());
}
$pdo_obj = null;
?>

 

【実行結果】

項番 氏名 説明 URL
1滾々川 いちじくグレートガール
http://kurukuru.o0o0.jp/contents/chara_itijiku.php
2花ノ根 くるり優しい
http://kurukuru.o0o0.jp/contents/chara_kururi.php
3小桜 文鳥(`A´)でべそ!
http://kurukuru.o0o0.jp/contents/chara_buncyou.php

 

できちゃった!天才か!

 

 

 

でも、これ一か月もすれば、本人も見返して何書いてあるか分からなくなるやつだね。

 

複雑なコードだと、自分の書いたコードの意味を忘れるのも、ある程度はしかたないのかもしれませんが、そうならないようにできるだけ分かりやすいコードを書いて、コメントを残すように心がけましょうね。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【参考】

PHP: ピアドキュメント - Manual

https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.heredoc

 

 

 

 

 

お名前


削除キー(必須)

コメント(必須)


サイト内検索

twiter

CONTENTS

 

 

 

くるくるサンプルコード

 

 

 

【↓広告↓】