-1
私はスパイクテーブルの列を見つけて、スパイククエリの結果に応じてhtmlテーブルを作成することを目的とした、以下のPHPを自分自身持っています。クエリ内のSQLクエリ
もちろん、ループごとにクエリを実行したくないので、ループの前にクエリするために$ schemaを定義しました。しかし、while($ spike ...)セクションで宣言しなければ、それはうまくいきません。私はここで間違って何をしていますか?
私は独自の反応を与えないでください。私は可能な限りSQLソリューション間の相互互換性としてコードを書くことに固執しようとしています。
// Queries
$q_spikes = "SELECT * FROM spikes";
$q_schema = "SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = N'spikes'";
// Table
echo "<table>";
echo "<tr>";
$schema = $conn->query($q_schema);
while($info = $schema->fetch_assoc()) {
echo "<td>" . $info['COLUMN_NAME'] . "</td>";
}
echo "</tr>";
$spikes = $conn->query($q_spikes);
while($spike = $spikes->fetch_assoc()) {
echo "<tr>";
$schema = $conn->query($q_schema);
while($info = $schema->fetch_assoc()) {
echo "<td>" . $spike[$info['COLUMN_NAME']] . "</td>";
}
echo "</tr>";
}
echo "</table>";
たくさんのほほ笑みとフィドルがあります – RiggsFolly
'$ spikes'の結果の値を使ってステートメントを準備する必要がない限り、ループ内でクエリを実行する必要はまったくありません。前にクエリを実行してからすべての反復。 – arielnmz
すべての '$ q_schema'を取り除き、' $ spike'を反復するだけです。またあなたの文字列の前に 'N'は何ですか? – chris85