Drop-Down-Menü mit Datenbank Problem mit selected

Kalito

Erfahrenes Mitglied
Hallo. Ich weiß wie ich ein Drop-Down-Menü mit Werten aus einer DB fülle und ich weiß auch, wie ich bei einem Drop-Down-Menü einen Eintrag vorselektiere. Ich schaffe es nur nicht beides miteinander zu kombinieren. Aus einer Tabelle lade ich mehrere Werte in das Menü. Wenn aber ein Wert in einer anderen Tabelle steht, dann soll dieser Wert im DD-Menü vorselektiert werden
Das war meine Idee
PHP:
//Abfrage des aktuellen Wert aus Statustabelle
$exist = mysql_query("SELECT MID, bis, RID FROM ".DB_TABLE_M_P." WHERE bis='00.00.0000' AND RID='9'", $verbindung); 

if(mysql_num_rows($exist) == 1){
        $e = mysql_fetch_array($exist);
        //Abfrage aller Werte aus Haupttabelle
        $query = mysql_query("SELECT MID FROM ".DB_TABLE_M." WHERE Status='activ'", $verbindung);
        
         while($it = mysql_fetch_array($query)){
                     echo '<option>'.$it['MID'].'</option>';
                     if($it['MID']==$e['MID']) echo '<option selected="selected">'.$it['MID'].'</option>';
         }
}

Wenn ich das erste <option> weglasse, dann erscheint im DD-Menpü nur der Wert aus der Statustabelle
im oben angezeigten Bsp. erscheint dann aber der Wert dopellt, der in der Statustabelle steht
 
Zuletzt bearbeitet:
klar erscheint der Eintrag doppelt.
du hast
PHP:
                     echo '<option>'.$it['MID'].'</option>';
                     if($it['MID']==$e['MID']) echo '<option selected="selected">'.$it['MID'].'</option>';
Also erst gibst du eine Option aus. Dann prüfst du ob es die selektionierte ist und gibst sie ev. nochmals aus
Wie folgt sollte es sein. Eine schöne Entweder-Oder-Logik.
PHP:
                     if($it['MID']==$e['MID']){
                         echo '<option selected="selected">'.$it['MID'].'</option>';
                     }else{
                         echo '<option>'.$it['MID'].'</option>';
                     }
 
Zurück