Problem PHP / SQL
aNtraXx 12.03.2005 - 19:57 844 4
aNtraXx
trailer park king
|
Folgendes: Es gibt ein Formular in dem dynamisch eine gewisse Anzahl von Eingabefeldern erstellt wird. Die "Inputs" tragen die Namen: Frage1, Frage2, Frage3, ... Nach Absenden des Formulars kommt das ganze in eine FOR-Schleife. Dort wird (oder sollte) ein SQL-Querie erstellt. Allerdings hänge ich jetzt an folgendem Problem: Ich muss die Fragen irgendwie dynamisch in das Querie reinbringen. INSERT INTO `fragen` ('ID', 'Schüler', 'Frage', 'Wert') VALUES('', '$row[0]', '$cnt', '$frage.$cnt')
Das ist nun nur einer meiner Lösungsansätze. Allerdings, wie auch anders, kommt als ergebnis _nur_ der Inhalt des Counters ins Querie, da es keine Variable namens $frage gibt. wie kann ich nun dynamisch einen Variablennamen erzeugen, so dass es auch funktioniert? TIA Bernhard. Edit by watchout: Manchmal frage ich mich echt wozu es Regeln gibt. Und BITTE es kann ja nicht so schwer sein "Query" richtig zu schreiben...
Bearbeitet von watchout am 13.03.2005, 03:02
|
ica
hmm
|
|
atrox
in fairy dust... I trust!
|
aus der beschreibung ist mir nicht ganz klar, woran es jetzt im detail scheitert - ich versuch es mal mit ein paar beispielen...
php-basics 1: indirekter variablenzugriff
$irgendwas="hallo"; $varname="irgendwas"; echo $$varname." welt"; // -> hallo welt
php-basics 2: indirekter variablenzugriff
$test1="hallo"; $test2=" "; $test3="welt"; for ($i=1;$i<4;$i++) { $v="test".$i; echo $$v; }
form-beispiel 1:
<form method=post ...>... <input name="frage1" ...> <input name="frage2" ...> <input name="frage3" ...> <input name="anzfragen" value="3" type="hidden"> ... <? for ($i=1;$i<$_POST[anzfragen];$i++) { echo "frage{$i}=".$_POST["frage".$i]; } ?>
form-beispiel 2: als array <form method=post ...>... <input name="frage[1]" ...> <input name="frage[3]" ...> <input name="frage[2]" ...>
<? $frage=$_POST[frage]; foreach ($frage as $nummer=>$wert) { echo "{$nummer}=".$wert; } ?>
form-beispiel 2: als array mit autoindex
<form method=post ...>... <input name="frage[]" ...> <input name="frage[]" ...> <input name="frage[]" ...>
<? $frage=$_POST[frage]; foreach ($frage as $nummer=>$wert) { echo $nummer."=".$wert; } ?>
|
aNtraXx
trailer park king
|
Super danke!
Ich möchte echt wissen wie verwirrt ich Gestern war, dass ich diese Aufgabe nicht lösen konnte.
Aber Danke vielmals!
|
Sticker
Big d00d
|
mit implode gehts einfacher
|