Dropdownmenü mit Wert vorbelegen

Zero2000

Erfahrenes Mitglied
Hallo,

ich suche nun schon seit Stunden eine Lösung für mein Problem, bin aber nicht weitergekommen.
Ich fülle ein Formular mit einem Dropdownmenü auf einer Seite aus und speichere diese in einer MySQL-DB. Auf einer anderen Seite ist ein Dropdownmenü aus dem ich die Werte wieder aus der DB lese. Nun würde ich aber gern den Wert als "selected" einstellen, den ich zuvor im Formular im Dropdown eingestellt habe.
So recht will mir das nicht gelingen.
Hier mal mein Quellcode zum auslesen und anzeigen:
PHP:
  $result = mysql_query("SELECT * FROM tabelle")or die("Fehler bei der Auswahl der tabelle.<br>".mysql_error());
  echo '<select style="border:1px solid #000000;font-size:10px;font-family:verdana;" name="feld1" size="1">'; 
  while ($row = mysql_fetch_array($result)) {
  echo '<option value="'.$row["feld1"].'">'.$row["feld2"].'</option>'; 
  } 
  echo "</select>";
Ich habe es schon versucht mit if und elseif zu lösen, der Erfolg blieb mir aber vergönnt.
PHP:
if($feld1=="136")$auswahl = "selected";
	elseif($feld1=="137")$auswahl = "selected";
	elseif($feld1=="138")$auswahl = "selected";
	elseif($feld1=="139")$auswahl = "selected";
Wie könnte ich es denn lösen, wenn in der DB z.B. 138 steht, dass dann auch trotzt mehrerer Werte im Dropdown die 138 schon selektiert ist?

MfG
Maik
 
Du musst bei jedem <option> Tag prüfen ob dieser Eintrag mit dem durch POST/GET übergebenen Wert übereinstimmt.

PHP:
if ($row["feld1"] == $_POST["feld1"]) {
  echo '<option value="'.$row["feld1"].'" selected>'.$row["feld2"].'</option>';
} else
  echo '<option value="'.$row["feld1"].'">'.$row["feld2"].'</option>';  
}
 
Zuletzt bearbeitet:
Vielen Dank für Deine Hilfe.
Mit einer kleinen Änderung hats geklappt.
PHP:
if ($row["adnr"] == $adnr) { 
	echo '<option value="'.$row["adnr"].'" selected>'.$row["name"].'</option>'; 
	} else {
	echo '<option value="'.$row["adnr"].'">'.$row["name"].'</option>';   
	}

MfG
Maik
 
Zurück