value im select?

uwee

Erfahrenes Mitglied
Hallo an alle!

Folgendes:
Ich mache eine Abfrage bei meiner MySQL-Db und lasse die Werte per PHP in ein Formular schreiben. In diesem Formular können die Werte geändert werden und per OK wird die Tbl aktualisiert.
Nun habe ich allerdings mehrere select-Felder (DropDown). Dort soll der Wert, der in der Tabelle steht als "selected" bezeichnet werden. Wenn ich mich nicht irre, die die richtige Programmierung eines solchen Feldes folgendermaßen aufgebaut:
PHP:
<select name="auswahl">
  <option>Auswahl1</option>
  <option>Auswahl2</option>
  <option>Auswahl3</option>
</select>
Wenn ich nun einen Startwert festlegen will würde das so aussehen:
PHP:
<select name="auswahl">
  <option>Auswahl1</option>
  <option selected>Auswahl2</option>
  <option>Auswahl3</option>
</select>

Was aber, wenn ich beim erstellen noch gar nicht weiss, welches der Startwert ist und sich dies durch die Abfrage der Tabelle ergeben soll?!
Ich weiss, dass man in input-Feldern mit "value" einen Wert festlegen kann. Geht das mit einem Select-Feld auch und wenn ja, wie?

Danke

UweE
 
Wird denn irgendwas übergeben wenn Du zum select kommst, also kannst Du per if-Anweisung herausbekommen, welcher Wert im select Standardwert ist?
Dann könntest Du so den Standardwert setzen
PHP:
.<select name="auswahl"> 
  <option <?php if(was auch immer) echo "selected"; ?> >Auswahl1</option>"; 
  <option <?php if(was auch immer) echo "selected"; ?> >Auswahl2</option>"; 
  <option <?php if(was auch immer) echo "selected"; ?> >Auswahl3</option>"; 
</select>
(nicht getested)

redlama
 
es ist folgendermaßen:

ich habe in der Tabelle verschiedene Werte. Die Zellenüberschrift ist z.B. Monat.
Jetzt möchte ich in dem Select-feld DEN Monat angezeigt bekommen, der auch in der Tabelle steht.
 
uwee hat gesagt.:
es ist folgendermaßen:

ich habe in der Tabelle verschiedene Werte. Die Zellenüberschrift ist z.B. Monat.
Jetzt möchte ich in dem Select-feld DEN Monat angezeigt bekommen, der auch in der Tabelle steht.

Ich weiß zwar nicht was an redlama's Beitrag so missverständlich war aber
hier mal was für dich als (korrigier mich wenn ich mich irre) scheinbar weniger
begabten Selbstdenker:
PHP:
// $row['datum'] steht das Datum drin als Zahl z.B. 2 für Februar
<select name="monat" size="1">
for ($i=1;$i<=12;$i++) echo $row['datum'] == $i ? '<option selected>'.$i.'</option>' : '<option>'.$i.'</option>';
</select>
 
Schön, aber was ist nun mit dem Problem, hast Du es mit meinem Code bzw. dem von _voodoo hinbekommen?

redlama
 
das wird nicht funktionieren!

es geht um Worte nicht um Zahlen!
das mit den Monaten war auch nur ein beispiel... Es müssen Worte rein.
Ich brauche das ganze zweimal. Beim ersten Mal soll nur zwischen "männlich" und "weiblich" unterschieden werden beim zweiten Mal sind knapp 20 verschiedene Worte
 
Also ehrlich gesagt verstehe ich das Problem nicht!
Wenn Du nur zwischen männlich/weiblich unterscheiden musst, ist es doch sehr simpel, ...
Kannst Du uns nicht mal den vollständigen Quelltext für die beiden <select> zeigen?
Und den, von wo aus Du die Werte (z. B. männlich/weiblich) übergeben bekommst?

redlama
 
PHP:
$sql="SELECT id, name, geschlecht, klasse FROM dsa WHERE id LIKE 1";
in "geschlecht" steht der Wert: weiblich!
in "klasse" steht der Wert: Krieger!

Nun die Ausgabe:
PHP:
[-]
echo "<select name=geschlecht>
  <option>männlich</option>
  <option>weiblich</option>
  </select>
<br><br>
<select name=klasse>
  <option>Magier</option>
  <option>Krieger</option>
  <option>Druide</option>
  <option>[-]
</select>";


Nun soll im Feld für das Geschlecht automatisch weiblich auf selected gesetzt werden und
in Feld Klasse soll Krieger selected werden!

Hoffe, dass das nun klar ist?
 
Zuletzt bearbeitet:
Ich geb Dir mal den Code für das Geschlecht.
Den Rest wirst Du dann ja sicher selbst hinbekommen.
Nennen wir die Variable, in der das Geschlecht steht doch mal eben $geschlecht. Dann muss das so sein:
PHP:
[...]<select name="Geschlecht">
  <option value="männlich" <?php if($geschlecht == "männlich") echo "selected"; ?>>männlich</option>
  <option value="weiblich" <?php if($geschlecht == "weiblich") echo "selected"; ?>>weiblich</option>
</select>
[...]
(getestet!)

redlama
 
Zurück