Hi
$sql = "SELECT \* FROM Frage";
$result = mysql\_query($sql) OR die();
$i=1;
while ($row = mysql\_fetch\_assoc($result)) {
$frage[$i]= $row['Frage']."
";
$frage= $\_POST['frage'];
$query = "INSERT INTO Antwort('Antwort') VALUES ('$frage') ";
mysql\_query ($query);
$i++;
}
Hier fragst du in der 1. Zeile eine Tabelle „Frage“ ab.
Das Ergebniss durchläufst du mit der whileschleife. Dann speicherst du die Spalte Frage in der Variablen „frage“ als array. In der nächsten Zeile überschreibst du die Variable „frage“ mit der radiobutton antwort aus dem formular. Danach speicherst du die Antwort in der Tabelle Antwort.
So … nun zu dem was du eigentlich willst.
Du willst wenn jemand eine antwort auf deinem Formular gibt diese eine Antwort in die Tabelle kommmt. Also fragen wir als nächstes erstmal ab ob es überhaupt eine antwort gibt.
if ( isset($\_POST['frage']) )
{
}
so damit haben wir schon mal das Frage erstellen vom Frage auswerten getrennt. Weiter:
Jetzt mußt du schauen ob die antwort die dort in $_POST[‚frage‘] steht auch wirklich stehen darf (security). Also machen wir uns ein kleines array (scheint ja auf jeder seite die gleichen antworten zu geben) wo die Antworten die kommen können drin stehen. Also:
var antworten = array('sz', 's', 'z', 'ka', 'nz');
So nun müssen wir überprüfen ob die antwort passt:
if ( in\_array($\_POST['frage'], $antworten) )
{
// die Antwort gibt es, hier können wir weiter arbeiten
}
else
{
// Die Antwort gibt es nicht Fehlerbehandlung
}
So nach dem wir sicher sind das es die Antwort gibt wollen wir die Antwort speichern.
$query = 'INSERT INTO antworten SET
antwort="' . mysql\_real\_escape\_string($\_POST['frage'] . '"';
mysql\_query($query);
So damit steht die Antwort gespeichert in der Datenbank.
Was ich ändern würde:
-
Die $_POST[‚frage‘] sollte $_POST[‚antwort‘] sein da es die antwort beinhaltet ansonsten kommt man durcheinander wenn man das in 10 Wochen noch mal ändern will.
-
Würde ich noch den User der die Antwort gibt mit abspeichern und auch die Zeit wann er geantwortet hat.
-
würde ich das antwort array am anfang der Seite deklarieren und nicht nur die antworten damit speichern sondern daraus auch die antworten im html-Formular bilden. So brauchst du später nur noch das array ändern und nicht im html mehr rumkramen.
Soviel dazu … hoffe das hilft dir. Auch wenn ich noch einiges andere anders machen würde sollte dir das erstmal helfen hoff.
Gruß Lamer