Selectbox, selected dynamisch

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Selectbox, selected dynamisch

    Hi Forum,

    bastle gerade an einer Page mit usern.

    Der Administrator soll nun über ein Interface die Userdaten bzw Kundendaten bearbeiten können (adressänderung etc.)

    Das läuft auch ganz gut, ich erstell ne Selectbox und je nach auswahl der Kundennummer, wird eine php file nachgeladen, die dann den eigentlichen Inhalt enthält.

    Name usw. wird dann in Textfelder eingetragen, die den Wert enthalten der in der DB steht. Bei änderung einfach den inhalt der Textbox ändern und abschicken.


    Mein Problem liegt hier:
    Die nachgeladene Datei enthält auch eine Dropdownliste mit, sagen wir den Geburtstagsdaten. Die werden ja bekanntlich so gut wie nie geändert, wär auch komisch ;).
    Möchte man nun irgendwelche Kundendaten z.b telefon ändern, steht das Geburtsdatum wieder auf z.b 01 01 1940.
    Ich Muss es also händisch ändern. Bei dusseligen Admins wie mir, wird das oft vergessen und das Geburtsdatum ist vermurgst, und hat man es nicht oldschoolmäßg auf Papier is es futsch.
    Weglassen mächte ich es nicht, änderungen könne ja doch mal sein, z.b durch Falsche angaben bei der Registrierung o.Ä.

    Meine Frage nun:
    Ihr könnts euch sicherlich schon denken, aber wie kann ich, bei einer Dropdownliste mit mehreren einträgen (Jahre von 1940 - 2008 z.b), den wert der in der DB eingetragen ist als selected setzen?
    Sprich ist in der DB das Geburtsjahr 1983 eingetragen, soll eben dieses Datum in der Selectbox als selected markiert sein.

    Ich denke das ist n bissl kompliziert oder? Also bin selbst noch auf keinen Lösungsansatz gekommen, hoffe ihr habt da nen Plan.

    viele grüße
    Timo
    ----[Blockierte Grafik: http://www.smilie-harvester.de/smilies/Alltag/putzen.gif] Nein ich bin nicht die Signatur, ich Putz hier nur ---
  • Leider hast du ja nichts genaueres zu deinem Code geschrieben. Im Grunde musst du einfach nur die "option" deiner liste als "selected" markieren.

    de.selfhtml.org/html/formulare/auswahl.htm


    Falls du Ajax benutzen willst, kann ich dir nur Frameworks wie jQuery empfehlen. Die nehmen dir eine Menge Arbeit ab. Falls du noch genauere Fragen hast - Bitte mehr Details oder Code ;)
  • hi Benny, ich glaube du hast mich nicht ganz verstanden :) selected="selected" ist schon klar ;)

    Ajax benutze ich alles kein Thema darum gehts nicht.

    Code, hab ich ja noch keinen, weil ich keinen Lösungsansatz zu dem problem finde, aber ich versuchs nochmal zu erklären.

    Ich habe eine Selectbox, die alle Autotypen (nur bsp.) meiner DB enthält. Audi Porsche BMW what ever....

    Nun soll das auto, das der user fährt (also den eintrag den er in der DB hat) in der obigen Selectbox auf selected gesetzt werden.

    Sprich: Das selected="selected" soll dynamisch werden. Je nachdem was für ein Auto der Benutzer fährt soll ein anderer Wert auf selected stehen.

    Is logisch oder?

    Hier mal nen Codeschnipsel mit Ort:

    Quellcode

    1. <select id="iort" name="iort">
    2. <?
    3. /*Abfrage für die Jahre*/
    4. $result = mysql_query("SELECT
    5. plz,
    6. name
    7. FROM
    8. Ort
    9. " );
    10. /*array wird initialisiert*/
    11. $row = array();
    12. /*abfragedaten werden in das array $row geschrieben*/
    13. while($row[] = mysql_fetch_assoc($result));
    14. array_pop($row);
    15. $count = count($row);
    16. //und solange option felder angelegt wie $new groß ist!
    17. for($i=0; $i<$count; $i++)
    18. {
    19. echo '<option value="'.$row[$i]['plz'].'">'.$row[$i]['name'].'</option>';
    20. };
    21. ?>
    22. </select>
    Alles anzeigen


    Die Dropdown wird mit DB einträgen gefüllt, alle Orte halt. In dieser soll der Ort auf selected stehen, in dem der User den ich grade bearbeite Wohnt.

    grüße
    Timo


    edit:
    Vllt noch verständlicher ^^ -> Geht mal hier auf der Seite auf "Mein Profil" (Profil bearbeiten). Da steht ihr gleich zu anfangs ne Dropdownliste mit Daten drinne und da sind eben jene Daten auf selected die als euer BDay in die DB eingetragen wurden
    ----[Blockierte Grafik: http://www.smilie-harvester.de/smilies/Alltag/putzen.gif] Nein ich bin nicht die Signatur, ich Putz hier nur ---
  • Naja du hoslt dir die Information aus der DB und überprüfst während du deine Liste füllst ob es sich hierbei um den gewünschten Eintrag handelt. Um mal bei dem Auto-Beispiel zu bleiben:

    Quellcode

    1. [...]
    2. //HTML gedöns - Listenstart und so weiter.
    3. $usercar = mysql_fetch_assoc(mysql_query('SELECT automarke FROM user'));
    4. $carlist = mysql_query('SELECT automarke FROM automarkenlist');
    5. while ($row = $mysql_fetch_assoc($carlist)) {
    6. echo "<option value=\"{$row['automarke']}\"";
    7. if ($row['automarke'] == $usercar['automarke']) {
    8. echo 'selected="selected"';
    9. }
    10. echo ">{$row['automarke']}</option>\n";
    11. }
    12. [...]
    Alles anzeigen


    Mal nur so runtergetippt - Ohne Gewähr auf Richtigkeit ;)