我正在尝试在 HTML 表中显示 msSQL 表中的所有信息,并且遇到了一些不太好的东西。
<table border="1">
<?
echo "<tr>";
for ($i = 0; $i < mssql_num_fields($result); ++$i){
echo "<th>" .$column_names[$i] . "</th>";
}
echo "</tr>";
$num_rows = mssql_num_rows($result);
for ($i = 0; $i < $num_rows; ++$i){
echo "<tr>";
foreach ($column_names as $key => $val){
$result_row = mssql_query("SELECT * FROM username WHERE id = '$i'");
$row = mssql_fetch_assoc($result_row);
echo "<td>";
echo $row[$val];
echo "</td>";
}
echo "</td>";
}
?>
</table>
这行得通。第一部分成功打印出列名,但至于其余部分:1)我认为每次通过循环进行查询有点麻烦 2)它并没有真正起作用,因为行的 id 去远高于表中的行数,因为某些 id 未被使用。
似乎我应该能够只进行一个查询并一次从数据库中提取所有内容,然后从中构建我的 HTML 表,但我无法弄清楚如何逐行访问它我可以去的地方$row[next row][shifted value from $column_names
。如何改进这个查询?