Hallo!
Bin PHP-Newbie und stehe gerade ein bisschen an ;-(.
Und zwar erstelle ich dynamisch einen Fragebogen (eine Beurteilung eigentlich).
if (mysql_num_rows($ergebnis)) {
while($row = mysql_fetch_array($ergebnis))
{
$person= $row[0];
echo "$person
<input type=\"radio\" name=\"Frage1[{$person}]\" value=\"1\">
<input type=\"radio\" name=\"Frage1[{$person}]\" value=\"2\">
<input type=\"radio\" name=\"Frage2[{$person}]\" value=\"1\">
<input type=\"radio\" name=\"Frage2[{$person}]\" value=\"2\">
}
Alles anzeigen
Das ganze wird folgendermaßen weiterverarbeitet:
$s = $i;
$f = "Frage".$i;
$array[$f] = $_POST[$f];
for ($i=1; $i<3; $i++ ) {
foreach ($array[$f] as $key => $element) {
echo "In '".$key."' steht '".$element."'
\n";
$Testperson = $key;
$f = $element;
$query = "INSERT INTO bewertung (Testperson, Frage1) VALUES ('$key', '$element')";
$result = mysql_query($query) or die('Query failed: ' . mysql_error());
}
Alles anzeigen
Wie ihr seht werden zu jeder Person (die aus der Datenbank geholt werden) jeweils 2 Fragen erstellt. Wenn ich mir alle POST ausgeben lasse schaut das folgendermaßen aus:
array(1) {
['Frage1']=>
array(3) {
['Name1']=>
string(1) "1"
['Name2']=>
string(1) "2"
['Name3']=>
string(1) "1"
}
}
Also eigentlich genauso wie ich es möchte. Doch wie kann ich das jetzt in die DB schreiben? Also dass bsp. Name1 nur einmal erstellt wird und zu diesem Eintrag dann die jeweiligen Werte aus dem Formular hinzugefügt werden:
Name Frage1 Frage2 Frage3
Name1 1 2 0
Name2 3 1 2
Name3 2 2 3
Und so weiter...
Hoffe das ist halbwegs verständlich, falls nicht könnte ich den ganze Code posten.
Danke!