Ich versuche nun schon seit Tagen ein Formular, welches unter anderem 2 Select-Felder enthält, so hinzubiegen das, wenn bei der Eingabe Fehler auftraten das Formular wieder mit den eingetragenen Werten angezeigt wird --> ein sog. "Affenformular" also.
Bei den beiden Select-Feldern werden die Daten für die einzelnen Optionen aus einer SQL-Datenbank geholt, in ein Array gespeichert und dann durch eine While-Schleife ausgegeben. Das funktioniert auch alles einwandfrei...nur wenn das Formular jetzt wegen einer ungültigen eingabe ein zweites mal angezeigt wird müsste ich die While-Schleife dort unterbrechen wo der zuvor eingetragene Wert (wenn das nicht der Fehler war) im Array steht und diese Option als "Selected" markieren damit die Daten wieder so angezeigt werden wie sie vom Benutzer zuvor eingegben wurden. Ich hab aber nun nach Stundenlangem suchen (nicht finden!) und zig versuchen keinen Nerv mehr und stell' euch die Frage:
Hat jmd eine Idee wie sich das lösen lässt?
.:edit:.
Murphy's Gesetz: Poste deine Frage und du kommst wenig später selber auf die Antwort
...hatte die Lösung eigentlich schon lange...hab nur ein ">" falsch gesetzt gehabt was mir natürlich die ganze Ausgabe zerrissen hat... *grml*
und für alle die's vllt intressiert:
Bei den beiden Select-Feldern werden die Daten für die einzelnen Optionen aus einer SQL-Datenbank geholt, in ein Array gespeichert und dann durch eine While-Schleife ausgegeben. Das funktioniert auch alles einwandfrei...nur wenn das Formular jetzt wegen einer ungültigen eingabe ein zweites mal angezeigt wird müsste ich die While-Schleife dort unterbrechen wo der zuvor eingetragene Wert (wenn das nicht der Fehler war) im Array steht und diese Option als "Selected" markieren damit die Daten wieder so angezeigt werden wie sie vom Benutzer zuvor eingegben wurden. Ich hab aber nun nach Stundenlangem suchen (nicht finden!) und zig versuchen keinen Nerv mehr und stell' euch die Frage:
Hat jmd eine Idee wie sich das lösen lässt?
.:edit:.
Murphy's Gesetz: Poste deine Frage und du kommst wenig später selber auf die Antwort
...hatte die Lösung eigentlich schon lange...hab nur ein ">" falsch gesetzt gehabt was mir natürlich die ganze Ausgabe zerrissen hat... *grml*
und für alle die's vllt intressiert:
PHP:
$sql = "SELECT feld1, feld2 FROM tabelle";
$result = mysql_query($sql) or die (mysql_error());
echo "<label for='select'>Select-Feld</label>";
echo "<select id='select' name='select' size='1' tabindex='1'>\n";
while ($array = mysql_fetch_assoc($result)) {
$wert = $array['feld1'];
echo "<option value=\"$wert\"";
if ($wert == $_POST['select']) {
echo " selected=\"selected\"";
}
echo ">";
echo $array['feld1'] . " " . $array['feld2'];
echo "</option>\n";
}
echo "</select><br>\n";
Zuletzt bearbeitet: