在 Web 開發中,我們常見到資料庫的資料以表格形式呈現在瀏覽器上。乍看之下似乎很神奇,但仔細思考其實並不複雜。既然可以透過 DQL 和 DML 進行一般資料查詢與操作,以表格標籤輸出當然也沒問題。不過要注意的是,在客戶端用腳本實現並不恰當,即便能做出來也會非常複雜,因此必須在伺服器端處理——在輸出時直接列印 HTML 表格標籤及對應屬性值。雖然這種做法看似不夠優雅,但確實是最直接有效的方法。
以下是一個完整的 PHP 函數示範,可將指定資料表的所有資料以表格形式輸出:
<?php
// 在表格中顯示表的資料,常用方式
function ShowTable($table_name) {
$conn = mysql_connect("localhost", "root", "toor");
if (!$conn) {
echo "連線失敗";
return;
}
mysql_select_db("test", $conn);
mysql_query("set names utf8");
$sql = "select * from $table_name";
$res = mysql_query($sql, $conn);
$rows = mysql_affected_rows($conn); // 取得列數
$colums = mysql_num_fields($res); // 取得欄位數
echo "test 資料庫的 " . $table_name . " 表的所有使用者資料如下:<br/>";
echo "共計 " . $rows . " 行 " . $colums . " 列<br/>";
echo "<table style='border-color: #efefef;' border='1px' cellpadding='5px' cellspacing='0px'><tr>";
// 輸出欄位名稱作為表頭
for ($i = 0; $i < $colums; $i++) {
$field_name = mysql_field_name($res, $i);
echo "<th>$field_name</th>";
}
echo "</tr>";
// 逐列輸出資料
while ($row = mysql_fetch_row($res)) {
echo "<tr>";
for ($i = 0; $i < $colums; $i++) {
echo "<td>$row[$i]</td>";
}
echo "</tr>";
}
echo "</table>";
}
ShowTable("test1");
?>
經測試,上述程式碼可正確執行。根據專案需求,也可以將此功能封裝成工具類或函式庫,方便重複使用,提升開發效率。