Selectwert aus Datenbank nach Fehlerprüfung ins Feld schreiben

senchou

Grünschnabel
Hallo Leute,

ich hoffe jemand kann mir hier helfen.

Ich habe ein Formular mit Fehlerprüfung und unter anderem auch einige Selectfelder welche die Werte aus einer MySql-DB abfragen. Diese Werte sollen

A: nach Absenden des Formulars bei Fehlermeldung wieder im Selectfeld ausgegeben werden....
B: auch überprüft werden ob ein Wert ausgewählt wurde

Hier ein paar Codeschnipsel aus dem Form:

class="label"><label>Schiffsname*</label></td>
<td width="214" valign="middle" class="field"><?php if ($fehler["sname"] != "") { echo $fehler["sname"]; } ?>
<input name="sname" type="text" id="sname" value="<?php echo $_POST[sname]; ?>" size="20" maxlength="25" <?php if ($fehler["sname"] != "") { echo 'class="fehlerdesign"'; } ?>/></td>
</tr>
<tr>

Das obere Feld ist ein normales Textfeld und wird auch korrekt überprüft.
Das untere Feld Schiffstyp liest die Daten aus einer DB und "vergißt" nach "Send" und Fehlerprüfung den ausgewählten Wert. Weiterhin brauche ich auch für dieses Selectfeld eine Fehlerprüfung....


<td valign="top" class="label"><label>Schiffstyp*</label></td>
<td colspan="2" valign="top" class="field"><?php if ($fehler["shiptype"] != "Yachttyp?") { echo $fehler["shiptype"]; } ?>
<select name="shiptype" class="submit" id="shiptype">
<?php
do {
?>
<option value="<?php echo $row_Recordset3['vesseltyp_de']?>"><?php echo $row_Recordset3['vesseltyp_de']?></option>

<?php
} while ($row_Recordset3 = mysql_fetch_assoc($Recordset3));
$rows = mysql_num_rows($Recordset3);
if($rows > 0) {
mysql_data_seek($Recordset3, 0);
$row_Recordset3 = mysql_fetch_assoc($Recordset3);
}
?>

:confused:
Ich hoffe jemand kann mir helfen.... Vielen Dank!
 
Hi,

eine Fehlerprüfung in dem Sinn brauchst Du ja hier nicht. Es muss nur geprüft werden ob ein Eintrag aus der Liste ausgewählt wurde oder nicht.

PHP:
<select name="shiptype" class="submit" id="shiptype">
// Wenn nichts ausgewählt wurde, wird auch nichts bzw. "" übergeben!!
<option value="">Bitte Eintrag auswählen</option>
<?php
do { 
if (isset($_POST["shiptype"]) and $_POST["shiptype"] == $row_Recordset3["vesseltyp_de"]) {
?>
// Wenn der Wert der Übergeben wurde mit dem Eintrag der DB übereinstimmt, wird er ausgewählt!!
<option value="<?php echo $row_Recordset3['vesseltyp_de']?>" selected><?php echo $row_Recordset3['vesseltyp_de']?></option>
<?php
} else {
?>
<option value="<?php echo $row_Recordset3['vesseltyp_de']?>"><?php echo $row_Recordset3['vesseltyp_de']?></option>
<?php
} while ($row_Recordset3 = mysql_fetch_assoc($Recordset3));

Bei der "Fehlerprüfung" musst Du jetzt nur kontrollieren ob ein Wert übergeben wird oder nicht bzw. ob der Wert nicht "" ist.

Gruß Thomas
 

Neue Beiträge

Zurück