Aktives Mitglied
Hallo,
ich habe ein Skript, welches zwei MySQL-Tabellen abfragt. Tabelle 1 enthält Fragen, Tabelle 2 die Antworten. Ziel ist es die jeweilige Frage als Überschrift darzustellen und darunter als Liste die dazu gegebenen Antworten. Da diese Abfrage über mehrere Frage-Antwort-Kombinationen immer die gleiche ist, wollte ich das zusammenfassen:
Mit den Überschriften klappt es prima, auch mit der ersten Liste. Jedoch bei der zweiten Liste werden mir die Antworten zur ersten Frage und danach die eigentlich gewünschten Antworten zur zweite Frage aufgelistet:
Frage 1
Vielen Dank fürs Drüberschauen und etwaige Tipps und Hilfestellungen.
O.
ich habe ein Skript, welches zwei MySQL-Tabellen abfragt. Tabelle 1 enthält Fragen, Tabelle 2 die Antworten. Ziel ist es die jeweilige Frage als Überschrift darzustellen und darunter als Liste die dazu gegebenen Antworten. Da diese Abfrage über mehrere Frage-Antwort-Kombinationen immer die gleiche ist, wollte ich das zusammenfassen:
PHP:
$c_id = 12345;
$frage = array("q1","q5"); # Die abzufragenden Fragen, die Nummerierung muss nicht durchgehend sein.
foreach ($frage AS $q) {
$sql = "SELECT `de` FROM fragen WHERE `frage`= '". $q ."'";
$query = mysql_query ($sql);
$result = mysql_fetch_row ($query);
echo "<h3>". $result[0] ."</h3>\n<ul>\n"; # Stellt die im array frage angegebenen Fragen als Überschrift dar.
$sql2 = "SELECT `". $q ."` FROM antworten WHERE `void` = 1 AND `c_id` = ". $c_id ."";
$query2 = mysql_query ($sql2);
while ($results2 = mysql_fetch_array ($query2))
$reply[] = $results2;
foreach ($reply AS $r) {
if (empty ($r[0])) {
echo ""; # für den Fall, dass einmal keine Antwort gegeben wurde.
} else {
echo "<li>". $r[0] ."</li>\n";
}
}
echo "</ul>";
}
Frage 1
- Antwort A
- Antwort B
- Antwort C
- Antwort A
- Antwort B
- Antwort C
- Antwort a
- Antwort b
- Antwort c
Vielen Dank fürs Drüberschauen und etwaige Tipps und Hilfestellungen.
O.
Zuletzt bearbeitet: