Hallo,
hoffe ihr konnt mir bei folgendem Problem helfen.
Ich möchte aus einem Quiz die Fragen, Antworten und Antwortenmöglichkeiten auslesen und in eine Textdatei schreiben. Die Quiz-Daten sind in MySQL-Datenbank gespeichert.
Mit meinen vorhandenen Quellcode würde es auch wunderbar gehen, wenn da nicht unterschiedlich viele Antwortenmöglichkeiten geben würde.
Also erstma die vorhandenen Tabellen:
`antworten` (`TestTyp`, `FrageID`, `AntwortID`, `Antwort`, `Korrektheit`)
`fragen` (`TestTyp`, `FrageID`, `FrageTyp`, `Kategorie`, `Frage`, `Beschreibung`, `Bild`, `Datum`)
Da es verschiedene Kategorien gibt, frage ich erstma über Checkboxen ab, welche Kategorien gewünscht sind.
Im Folgenden ist nun der auswertungs-code zu sehen
PHP-Code:
<?php
$datei = fopen("fragen.txt", "w+"); //Dateigröße wird auf 0 Byte gesetzt
foreach ($_POST['seite'] as $test) {
include ('config.php');
$db_link = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
mysql_select_db ("xxxx");
$sqltemp = "SELECT Frage, Beschreibung, Kategorie, FrageID FROM fragen WHERE Kategorie='$test' ORDER BY FrageID;";
$sqltemp2 = "SELECT Antwort, antworten.FrageID FROM antworten INNER JOIN fragen USING (FrageID) WHERE AntwortID=\"1\" AND Kategorie='$test' ORDER BY FrageID;";
$sqltemp3 = "SELECT Antwort, antworten.FrageID FROM antworten INNER JOIN fragen USING (FrageID) WHERE AntwortID=\"2\" AND Kategorie='$test' ORDER BY FrageID;";
$sqltemp4 = "SELECT Antwort, antworten.FrageID FROM antworten INNER JOIN fragen USING (FrageID) WHERE AntwortID=\"3\" AND Kategorie='$test' ORDER BY FrageID;";
$querytemp = mysql_query($sqltemp) OR die(mysql_error());
$querytemp2 = mysql_query($sqltemp2) OR die(mysql_error());
$querytemp3 = mysql_query($sqltemp3) OR die(mysql_error());
$querytemp4 = mysql_query($sqltemp4) OR die(mysql_error());
$datei = fopen("fragen.txt", "a+");
$inhalt1 = "$test\n\n\n"; //Name der Kategorie
fwrite($datei, $inhalt1);
fclose($datei);
while($row = mysql_fetch_row($querytemp) AND $row2 = mysql_fetch_row($querytemp2) AND $row3 = mysql_fetch_row($querytemp3) AND $row4 = mysql_fetch_row($querytemp4) )
{
$datei = fopen("fragen.txt", "a+");
$inhalt2 = "Frage: $row[0]\n\n"; // Die Frage
$antwort1 = "a) $row2[0]\n";
$antwort2 = "b) $row3[0]\n";
$antwort3 = "c) $row4[0]\n\n";
$inhalt3 = "Antwort: $row[1]\n\n\n"; // Die Antwort
fwrite($datei, $inhalt2);
fwrite($datei, $antwort1);
fwrite($datei, $antwort2);
fwrite($datei, $antwort3);
fwrite($datei, $inhalt3);
fclose($datei);
}
}
?>
Damit bekomme ich nun nur die ersten 3 Antwortenmöglichkeiten, aber einige fragen haben auch 4,5 oder 6 möglichkeiten.
Wenn da jemand ne Idee hätte wäre das echt super.
Vielleicht bin ich mit meinen Gedanken auf dem Holzweg und man kann das alles schneller und effektiver abfragen.