CodingBizの更新:
私はこれを私のコードに入れています:
for($i=1;$i<=$numRows;$i++) {
$output .= '<tr>';
$row = $this->fetchAssoc($result);
$colRow = $this->fetchAssoc($colResult);
foreach($colRow as $colName) {
$output .= "<td>".$row[$colName]."</td>";
}
$output .= '</tr>';
}
代わりに
for($i=1;$i<=$numRows;$i++) {
$output .= '<tr>';
$row = $this->fetchAssoc($result);
for($j=1;$j<=$colNumRows;$j++) {
$colRow = $this->fetchAssoc($colResult);
$output .= "<td>".$row[$colRow["COLUMN_NAME"]]."</td>";
}
$output .= '</tr>';
}
これに何か問題がありますか?
元の投稿:
クエリの結果をテーブルに表示する関数をPHPクラスで作成しています。私は自分でテーブルを構築しているのではなく、すべてをPHPを使用して実行したいと思っています。これまでの私のコードは次のとおりです。
function allResults($table,$cols) {
if(isset($cols)) {
$query = "SELECT $cols FROM $table";
}
else {
$query = "SELECT * FROM $table";
}
$result = $this->query($query);
$numRows = $this->numRows($result);
$colQuery ="SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='shareride' AND TABLE_NAME='$table'";
$colResult = $this->query($colQuery);
$colNumRows = $this->numRows($colResult);
$output = '<table class="allResults">';
$output .= '<tr>';
for($i=1;$i<=$colNumRows;$i++) {
$colRow = $this->fetchAssoc($colResult);
$output .= "<td>".$colRow["COLUMN_NAME"]."</td>";
}
$output .= '</tr>';
for($i=1;$i<=$numRows;$i++) {
$output .= '<tr>';
$row = $this->fetchAssoc($result);
for($j=1;$j<=$colNumRows;$j++) {
$colRow = $this->fetchAssoc($colResult);
$output .= "<td>".$row[$colRow["COLUMN_NAME"]]."</td>";
}
$output .= '</tr>';
}
$output .= '</table>';
return $output;
}
不明な場合は、query
を参照しmysqli_query
、numRows
を参照しmysqli_num_rows
、をfetchAssoc
参照しmysqli_fetch_assoc
ます。データベース名は「shareride」です。
私はこの行に何かが欠けていることを知っています:
$output .= "<td>".$row[$colRow["COLUMN_NAME"]]."</td>";
しかし、私はそれが何であるかを知りません。現在、すべてのテーブル列のタイトルが正しく表示され、正しい数のコンテンツ行が取得されていますが、これらの行にデータベースからの実際のデータを入力することはできません。
私は何が欠けていますか?どんな助けでも大歓迎です!