我想從MySQL查詢中構建一個動態HTML表(不管列數或行數),但我想我可能會做錯某事,因爲它不起作用所有。使用MySQL/PHP結果構建HTML表格
我有Oracle的經驗,但我是MySQL的新手。我試圖檢查我使用的MySQL/PHP函數是否存在,我認爲是這種情況。
<?php
$mysqli = new mysqli("localhost", "dbuser", "dbpass", "db");
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
/* Select queries return a resultset */
if ($result = $mysqli->query("SELECT * FROM user")) {
/* build html table */
echo "<table class='table '><thread><tr>";
$ncols = mysqli_num_rows($result);
for ($i = 1; $i <= $ncols; $i++) {
$column_name = mysqli_field_name($result, $i);
echo "<th>".$column_name."</th>";
}
echo "</tr></thread><tbody>";
while ($row = mysqli_fetch_array($result, OCI_NUM)) {
echo "<tr>";
for ($ii = 0; $ii < count($row); $ii++) {
echo "<td>" . $row[$ii] . "</td>";
}
echo "</tr>";
}
echo "</tbody></table>";
/* free result set */
$result->close();
}
$mysqli->close();
?>
感謝任何幫助!
史蒂夫
編輯:我添加了錯誤報告的建議,並得到:
Fatal error: Call to undefined function mysqli_field_name() in connection.php on line 20
請解釋「的說法不工作」:你得到一個錯誤信息,一個空白頁,一個混亂的HTML結果,...?即使我的PHP技能有點生疏,我可能已經提出了第一個建議:我很確定'mysqli_num_rows'實際上並沒有用你使用的查詢計算表的列數......'mysqli_field_count'似乎是你需要... –
在循環中的'$ result','$ ncols',然後在'$ row'上使用'print_r'。然後你會看到你需要玩什麼數據,並可以從中發揮作用。還要添加'error_reporting(E_ALL); ini_set('display_errors',1);'到文檔的頂部以向瀏覽器顯示錯誤。讓我們知道你得到了什麼。 –
我會開始修復「線程」標記:) –