msSQL テーブル内のすべての情報を HTML テーブルに表示しようとしていますが、それほど素晴らしいものではありません。
<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 が使用されていないため、テーブルの行数よりもはるかに多くなります。
1 つのクエリを作成し、データベースからすべてを一度に取得して、そこから HTML テーブルを作成できるように思えますが、行ごとにアクセスする方法がわかりません$row[next row][shifted value from $column_names
。このクエリを改善するにはどうすればよいですか?