Andre: Menu mit Option und PHP -> Starwert??

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"!

  1. 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

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. 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

      1. 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

        --
        RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
        Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
        1. 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

          1. 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

            --
            RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
            Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
            1. Ja, vielen Dank,
              ich denke der Tipp von Gerhard wird mich weiterbringen.

              Beste Grüsse,
              Andre

  2. 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

    1. Sieht toll aus!
      Werde ich sofort testen...

      Vielen Dank,
      Andre