Hallo,
ich arbeite gerade an einem Quiz-Editor und hänge grade fest...
Ich habe ein 'Quiz-Update-Formular' in dem alle (20) Quiz-Fragen aufgeführt werden mit vielen veränderbaren Details wie mögliche Antworten, Punkte, Bild-Datei usw.
Nach evt. Abändern schicke ich das ganze per 'Post' zum Update-Script und hier soll eine Update-Query die Daten in der Datenbank updaten. Jede Quiz-Frage ist ein Datensatz.
Da es ja mehrere Datensätze (20) sind, ändere ich mit einer FOR-Schleife die WHERE-Bedingung ab. Alles Cool, bis zu diesem Punkt. Es werden tatsächlich alle gewünschten Datensätze abgeändert.
Code:
1:
2:
3:
4:
5:
6:
7:
8: | $Anzahl = 20; // z.B.
for ($e = 0,$no = 1; $e < $Anzahl; $e++,$no++) {
$query = "UPDATE Quiz_Editor SET question='$question' WHERE no = '$no' ";
mysql_query($query);
} |
NUR: Im Datensatz von z.B. Quiz-Frage 3 sollen natürlich nur die geänderten Daten von der Frage 3 vom Formular rein - und nix anderes.
Mein Problem: Netterweise sind ja alle Formulardaten im Array S_POST[ 'you name it' ] enthalten.
Momentan nummeriere ich die Namen der Variablen vom Formular durch und sie sind so auch im POST-Array:
question1, question2 usw.
Jetzt wärs natürlich naheliegend dieses POST-Array auch durchzu'loopen' um immer die passenden Daten zu bekommen - so in der Art:
Code:
1:
2:
3:
4:
5: |
for ($e = 0,$no = 1; $e < $Anzahl; $e++,$no++) {
$query = "UPDATE Quiz_Editor SET question='$_Post[question$no]' WHERE no = '$no' ";
mysql_query($query); |
...aber das geht anscheinend
so nicht.
Wie müsste man die Query und vielleicht auch die übergegebenen Daten vom Formular abändern, damit das klappt?
Vielen Dank im voraus!
---
Entweder es haut hin oder zurück!