Dynamische Mehrfachauswahl

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dynamische Mehrfachauswahl

    Hallo Leute,

    habe hierzu einige nützliche Tipps über die Suche gefunden.
    Allerdings bekomme ich folgendes nicht hin:

    <select size="1" onChange="DropDownMenu(this)" name="coordinator" style="width=160px; font-size=11;" multiple>
    <?
    $result = mysql_query("SELECT * from ep_Person") or die ("Fehler");
    if ($result)
    {
    while ($row = mysql_fetch_array($result))
    {
    if ($liste_coordinator == $row["Person_ID"])
    {
    $selected = "selected";
    }
    if ($liste_coordinator2 == $row["Person_ID"])
    {
    $selected = "selected";
    }
    else
    {
    $selected = "";
    }
    print "<option value='". $row["Person_ID"] ."' ".$selected.">" . $row["Name"] ."</option>\n";
    }
    }
    ?>
    In der DB ep_Person sind Namen in Verbindung mit einer ID hinterlegt.
    Die Variablen $liste_coordinator und $liste_coordinator2 enthalten die
    jeweilige ID der Person die als selected in einem multiple Select erscheinen sollen. Leider erscheint immer nur eine Person als selected. Hat jemand einen Tipp für mich wie ich vorgehen sollte?
    Danke....

  • #2
    Re: Dynamische Mehrfachauswahl

    du verschachtelst einfach falsch ... mit korrekten einrückungen ist dies auch leicht zu erkennen:

    PHP-Code:
    if ($liste_coordinator == $row["Person_ID"])
    {
        
    $selected "selected";
    }

    if (
    $liste_coordinator2 == $row["Person_ID"])
    {
        
    $selected "selected";
    }
    else
    {    
        
    $selected "";

    das erste if prüft ab, ob der wert gleich $liste_coordinator ist. wenn ja, hast du also $selected = "selected";

    das zweite if prüft dies für $liste_coordinator2 ab.
    wenn if #1 schon erfüllt war, ist dies wahrscheinlich nicht auch gleichzeitig erfüllt, also geht er hier in den else-zweig - $selected wird also mit einem leerstring überschrieben.

    eine korrekte schachtelung wäre
    PHP-Code:
    if ($liste_coordinator == $row["Person_ID"])
    {
        
    $selected "selected";
    }
    else
    {
       if (
    $liste_coordinator2 == $row["Person_ID"])
       {
           
    $selected "selected";
       }
       else
       {    
           
    $selected "";
       }


    oder aber gleich die kürzere form
    PHP-Code:
    if ($row["Person_ID"] == $liste_coordinator || $row["Person_ID"] == $liste_coordinator2)
    {
        
    $selected "selected";
    }
    else
    {    
        
    $selected "";

    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hey Super!!!
      Das war´s gewesen, vielen Dank!
      Eingentlich war alles richtig eingerückt, die Formatierung wurde nur im
      Forum nicht übernommen.

      Also nochmals vielen Dank

      Kommentar


      • #4
        Wie das mit Quellcode posten geht

        SIEHE
        Posten von Quellcode

        Kommentar

        Lädt...
        X