phpbar.de logo

Mailinglisten-Archive

[php] Einträge in Auswahlfeld auf selected setzten

[php] Einträge in Auswahlfeld auf selected setzten

Cybot lists at sebastianmendel.de
Sam Okt 11 16:40:30 CEST 2003


> ich hab ein Auswahlfeld, welches durch Einträge, die in der Datenbank
> gespeichert sind gefüllt wird. In diesem Fall handelt es sich um Namen
> von Spielen. Diese Namen werden von einem Administrator in der Datenbank
> gespeichert. Den Usern soll nun die Möglichkeit gegeben werden
> auszuwählen, welche Spiele sie den spielen. Das ganze habe ich so
> gelöst, dass ein Auswahlmenü angezeigt wird, bei dem mehrfachauswahl
> erlaubt ist. Die Daten werden dann in einem array in der Datenbank
> gespeichert (es wird die ID des Spiels gespeichert, die beim Eintrag des
> Spiels durch den Administrator automatisch gesetzt wurde). Klappt auch
> alles. Mein Problem ist jetzt aber, dass wenn ein User sich dann wieder
> in sein Profil begiebt, die Einträge im Auswahlmenü nicht ausgewählt
> sind. Wenn er nun andere Daten ändert und nicht nochmals seine Spiele
> auswählt, in der Datenbank gespeichert wird, dass er kein Spiel spielt.
> Meines Erachtens nach wäre es am besten, wenn diejenigen Spiele, die der
> User als "wird gespielt" eingetragen hat beim nächsten Aufruf des
> Profils als selected angezeigt werden. Leider ist bisher jeder meiner
> Versuche das richtig hinzubekommen gescheitert.
> Ich habe es jetzt soweit hinbekommen, dass zwar Einträge als selected
> angezeigt werden, aber ich bekomme die Einträge mehrfach ausgegeben,
> also ein Spiel taucht mehrmals im menü auf und nur einer dieser
> ausgegebenen Einträge ist markiert. Der Fehler liegt wohl in der
> Tatsache begraben, dass ich 2 Sschleifen ineinander habe, aber wie soll
> ich die voneinander ternnen? Hier mal mein Code, vielleicht hilfts ja
> was ;)

ja, is ja auch total verhauen!

$games = unserialize($row['games']);
$query = mysql_query('SELECT distinct * FROM games ORDER BY
games_name');
while($rows = mysql_fetch_assoc($query))
{
   $games_id = $rows['games_id'];
   $games_name = $rows['games_name'];
   if ( is_array($games) && in_array($rows['games_id']) )
   {
     $select = 'selected="selected"';
   }
   else
   {
     $select = '';
   }
   echo "<option $select value=\"$games_id\">$games_name</option>";
}


-- 
Sebastian Mendel

info at sebastianmendel.de

www.sebastianmendel.de
www.tekkno4u.de
www.nofetish.com


php::bar PHP Wiki   -   Listenarchive