PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : andere Variable bei jedem Schleifenanlauf?


net-tom
21.09.2003, 15:40:31
Die Ausgangssituation:
Ein Formular mit Fragen, auf eine Frage kann der Benutzer mehrere Antworten auswählen mit Hilfe von "Checkboxen". Die Antworten werden in einer Variable gespeichert und diese per Mail versandt.

if ($antw7_1)
{
$frage7.=$antw7_1."<br>";
}

Wie ihr seht wird jede Antwort $antwo7_x an die $fragex Variable angehängt und dann diese Irgendwo im Ausgewertetem Text wiedergegeben.

Ich will aber nicht 7 mal die "if" Abfrage starten, sondern eine "for" Schleife basteln.


for ($i=1;$i<=7; $i=$i+1)
{
if ($antw7_x)
{
$frage7.=$antw7_x."<br>";
}
}

$i ist die Anzahl der möglichen Antworten. $antw7_x ist die Antwort.
Diese Antwort wird an die $frage Variable nur dan angehängt wenn sie vorhanden ist.(wenn die Checkbox ausgewählt worden ist)
Diese Variable müsste bei jeder Antwort anders sein.
Bsp.
antw7_1
antw7_2
antw7_3
und so weiter....
Ich müsste also vor die "if" Abfrage noch eine etwas einbauen, das den Namen der Variable ändert und zwar nur das letzte Zeichen also die 1,2,3 und so weiter..

Wie kann ich das am besten anstellen??
Kann ich das anders lösen???

Carsten Franke
21.09.2003, 16:05:55
z.B. eval() hilft Dir dabei.for ($i=1; $i<=7; $i=$i+1) {
$temp='$antw7_'.$i;
if (eval($temp)) {
$frage7.=eval($temp)."<br>";
}
} Hab's nicht geteset.


Edit: Tipp: Statt $i=$i+1 kannst Du auch $i++ schreiben. Oder auch $i+=1

net-tom
21.09.2003, 23:30:54
Ich habe das ganze doch mit Arrays gelöst.
Ging eigentlich ganz einfach