Menu mit Option und PHP -> Starwert??
Andre
- php
0 Philipp Hasenfratz0 Andre
0 Gerhard Knabe0 Andre
Hallo,
ich habe mal wieder eine Frage:
Wie kann ich ein Sprungmenu (HTML) als PHP-echo ausgeben und dabei den Startwert festlegen?
Ich habe mir folgendes Script gebastelt:
echo '<select name="fmenu">';
while($row = mysql_fetch_array($result)) {
echo '<option value='.$row['gruppe_id_gruppe'].'>'.$row['gruppe_gruppe'].'</option>';
}
echo '</select>';
Funktionier bestens, nur das mit dem "selected" habe ich nicht hinbekommen...
Viele Grüsse,
Andre
p.s. Ohne SelfHTML (aber auch SelfPHP) hätte ich sicher nie so scnell coden gelernt ;-)
Vielen Dank für dieses "Werk"!
Halihallo Andre
Funktionier bestens, nur das mit dem "selected" habe ich nicht hinbekommen...
Nun gibt über PHP einfach dort ein 'selected' aus, wo es deiner Meinung nach hingehört.
Wo _genau_ ist das Problem?
Viele Grüsse
Philipp
Das "selected" soll dynamisch, je nach db abfrage sein. (Wie das ganze Menu eben auch)
Ich habe so Einiges mit IF versucht, hat aber leider nicht gefunzt.
Wenns da keine "Standtart-Lösung" gibt "versuche" ich es mal weiter ;-)
Vielen Dank,
Andre
Halihallo Andre
Das "selected" soll dynamisch, je nach db abfrage sein. (Wie das ganze Menu eben auch)
Solange du dieses "dynamisch" nicht weiter beschreibst kann dir niemand helfen, darauf
wollte ich hinaus. Nochmals: Wo _genau_ liegt das Problem? - Du hast wahrscheinlich
irgendwo eine Angabe einer zu selektierenden Option (ggf. aus DB oder Parameter) und du
hast mehrere Options auszugeben. Es liegt nahe, dass du bei jeder Ausgabe eine Option
überprüfst, ob sie eben selektiert werden soll oder nicht und setzt 'selected' oder ''
entsprechend.
Wenns da keine "Standtart-Lösung" gibt "versuche" ich es mal weiter ;-)
Es gibt eine Standard-Lösung: <option ... selected>
Viele Grüsse
Philipp
Gibt es zu dem CODE noch mehr zu sagen??
Ich denke, da ist alles drin.
Aber egal, vielleicht hatte ich auch "mal wieder" Syntaxprobleme ;-)
Ich werde es einfach nochmal versuchen...
(Das man SELECT ausgben muss ist mir schon klar. Leider hat es bisher mit ner IF-Abfrage nicht funktioniert)
Vielen Dank aber,
Andre
Halihallo Andre
Gibt es zu dem CODE noch mehr zu sagen??
Ja. z.B. wie Deine Lösung ausgesehen hat...
Ich denke, da ist alles drin.
Woher soll ich bitte wissen, welche Option du zu selektieren wünschst?
(Das man SELECT ausgben muss ist mir schon klar. Leider hat es bisher mit ner IF-Abfrage nicht funktioniert)
Zeige und Beweise, dann werde ich versuchen zu helfen :-)
Aber vielleicht hilft dir bereits der Vorschlag von Gerhard...
Viele Grüsse
Philipp
Ja, vielen Dank,
ich denke der Tipp von Gerhard wird mich weiterbringen.
Beste Grüsse,
Andre
Benutze für die Ausgabe jedes Option-Tags die Funktion
function renderOptionTag($value, $selectedValue)
{
echo "<option value='$value'";
if ($value == $selectedValue)
echo " selected";
echo ">";
}
und schreibe
renderOptionTag($row['gruppe_id_gruppe'], $selectedValue);
echo $row['gruppe_gruppe'].'</option>'
wobei in $selectedValue der zu setzende Wert drin steht.
Kürzer aber auch weniger verständlich geht's mit dem ?: Operator:
function renderOptionTag($value, $selectedValue)
{
echo "<option value='$value'" . (($value == $selectedValue) ? " selected>" : ">");
}
Den Einzeiler kannst Du auch aus der Funktion herauslösen.
MfG
GK
Sieht toll aus!
Werde ich sofort testen...
Vielen Dank,
Andre