"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Problem PHP / SQL

aNtraXx 12.03.2005 - 19:57 844 4
Posts

aNtraXx

trailer park king
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6904
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.

Code: PHP
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
Avatar
Registered: Jul 2002
Location: Graz
Posts: 9818

atrox

in fairy dust... I trust!
Avatar
Registered: Sep 2002
Location: HTTP/1.1 404
Posts: 2782
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
Avatar
Registered: Apr 2002
Location: Linz
Posts: 6904
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
Avatar
Registered: Mar 2003
Location: Wien
Posts: 177
mit implode gehts einfacher ;)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz