Zu den Aufzeichnungen der tutorials.de-Live-Workshops
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
151
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Fruitgum
    Fruitgum Fruitgum ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    180
    Hallo,

    ich habe eine Selectbox mit mehreren Einträgen.

    Kaffe
    Tee
    Milch
    Kakao
    Schnaps

    User haben in ihren Profil eines der Einträge gespeichert. Nun möchte ich wenn die User ihr Profil aufrufen auch den Richtigen Eintrag, also der der bei ihnen gespeichert ist, auch als selected haben.

    Jemand einen guten Tipp wie ich das anstellen darf.

    Grüße
     

  2. #2
    Avatar von Alex_T
    Alex_T Alex_T ist offline Mitglied Brokat
    Registriert seit
    Jul 2009
    Beiträge
    305
    Grüße,
    du speicherst das ausgewählte Element als String (sprich seinen Wert) in einer DB ab und wenn du die Seite aufrufst, dann lässt du eine Abfrage der DB laufen und setzt dann eines der Elemente per if-Verzweigung als selected.
     
    Mfg, Alex

    “The function of good software is to make the complex appear to be simple.” (Grady Booch)
    “First, solve the problem. Then, write the code.” (John Johnson)

  3. #3
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.016
    Da ich nicht weiß wie du die Profildaten ausliest, hier mal eine ganz knappe Version:

    PHP-Code:
    <select name="" size="3">
        <option value="1" <?php echo ($profilwert "1") ? "selected" ""?>>1</option>
        <option value="2" <?php echo ($profilwert "2") ? "selected" ""?>>2</option>
        <option value="3" <?php echo ($profilwert "3") ? "selected" ""?>>3</option>
    </select>
    Du musst für dich halt die Liste bzw. den Verlgeich mit $profilwert anpassen. Aber ansonsten sollte es so gehen.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  4. #4
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    4.669
    1) gespeicherten Eintrag auslesen
    2) Selectbox aufbauen und bei jedem Wert prüfen
    3) den entsprechenden Option-Tag um selected erweitern

    Wenn du Code willst, währe es gut zu sehen wie du die Box jetzt aufbaust
     
    ---------------------------------------------------------------------------------------------------
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  5. #5
    Avatar von Fruitgum
    Fruitgum Fruitgum ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    180
    Moin moin,

    ich verwende hier Smarty und habe das im Template so gemacht:

    Code :
    1
    2
    3
    4
    5
    6
    
    <select>{foreach from=$userDaten_titel item=userDaten_titelFor}
    <option value="{$userDaten_titelFor->getField('ds_id')}" {if ($userDaten_titelFor->getField('ds_id') === $userDaten_titelsel) } selected {else} no {/if} >{$userDaten_titelFor->getField('titel')}</option>
    {/foreach}
    </select>
     
    aber irgendwie soll da ein fehler im code sein?

    ich wollte es gern mit IF lösen {if}{/if}
     

  6. #6
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.016
    Keine Ahnung ob das jetzt so stimmt da ich mit dem Code nicht wirklich klar komme. Doch ich denke das es so klappt.

    PHP-Code:
    <select>
    {foreach 
    from=$userDaten_titel item=userDaten_titelFor}
    <
    option value="{$userDaten_titelFor->getField('ds_id')}" {($userDaten_titelFor->getField('ds_id') == $userDaten_titelsel) ? "selected" ""} >{$userDaten_titelFor->getField('titel')}
    </
    option>
    {/foreach}
    </
    select
    Im Grunde ist das auch eine IF-Anweisung, nur eben die Kurzform davon.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  7. #7
    Avatar von Fruitgum
    Fruitgum Fruitgum ist offline Mitglied Gold
    Registriert seit
    Oct 2007
    Beiträge
    180
    ja wie du hier schon siehst bleibt in der Value"" der code rot, und da ist ein Fehler, denn ich nicht verstehe. Ich denke aber das liegt am Smarty. Muss mal sehen wie ich das anders machen kann. Ich benutze hier als Datenbank Filemaker und leider kann ich da nicht so arbeiten wie mit mysql.
     

Ähnliche Themen

  1. Selectet in PHP
    Von finsh im Forum PHP
    Antworten: 9
    Letzter Beitrag: 04.04.03, 17:14