Wert aus DB in dropdown

quidnovi

Erfahrenes Mitglied
Hi Folks!

Sehe offensichtlich den Wald vor lauter Bäumen nicht mehr.

Frage eine Mysql DB ab und speichere Werte in Variablen.

Zur Ausgabe bzw. zum ändern gebe ich sie wie folgt aus:

PHP:
echo "<input type='text' NAME='neubeginh' value='".$altbeginh."'><br />";

So bekomme ich den Wert aus der Datenbank angezeigt.

Wenn ich das aber aus notwendigen Gründen in einem dropdownfeld ausgeben möchte, bekomme ich keinen Wert angezeigt, sondern nur einen leeren Platzhalter.
Code schaut so aus:
PHP:
echo '<select name="neubeginh" size="4">'.
	  '<option value="'.$altbeginh.'">'.
      '<option value="6">6</option>'.
      '<option value="7">7</option>'.
      '<option value="8">8</option>'.
      ....

Was habe ich hier übersehen? Könnt Ihr mir bitte einen Rat geben?
Danke im Voraus
 
Das vorausgewählte Optionselement bekommt zusätzlich das selected-Attribut. Du musst also die einzelnen Elemente des Menüs durchgehen und prüfen, ob es mit dem ausgewählten Wert übereinstimmt.
 
Hallo Gumbo,

eigentlich wollte ich es so unkompliziert wie möglich halten. In dem dropdown sollte als erste Zahl die der DB erscheinen, also nur eine Erweiterung des Feldes. Habe das mit "selected" schon vor dem Eröffnungsthread versucht - aber da ist eben nur ein leeres Feld ersichtlich.

Was ich nicht verstehe ist, bei einem "input" Feld erhalte ich den angeforderten Wert, bei "<option>" nicht. Wieso?
 
<select.....>

$sql = mysql_query("Select * from db")
while ($test = mysql_fetch_assoc($sql))
{
echo "<option value=\". test[id] .\">" .$test[name] . "</option>" "
}
</select>

innerhalb der while schleife kannst du noch eine if abfrage einbauen die überprüft ob der angetastete wert aus der DB mit dem gewünschten anzuzeigenden Wert übereinstimmt.
 
das mit dem Wald.. hat so gestimmt.

Das war ein reiner Syntaxfehler!!

Ich wollte ja nur an den Anfang des Dropdownfeldes den Wert der DB ausgeben, mehr nicht.

So funktioniert es:
PHP:
...
'<option value="$altbeginh" selected>'.$altbeginh.'</option>'.
...

Auf alle Fälle vielen Dank Euch Beiden.
 
Zurück