Auswahlliste vorselektiert mit Daten aus der DB?

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

  • Abraxax
    antwortet
    genau. dafür auch ein lob von mir. ;-)

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    ausm kopf ohne probieren könnte ich das nie
    Na, immer hin hastes selbst hingebogen. Bringt hier lang nicht jeder!

    Einen Kommentar schreiben:


  • sven k.
    antwortet
    jetzt gehts!

    PHP-Code:
    <?php

        $options 
    = array(1.331.661.781.8522.352.4);
        
    $sql 'SELECT BILDV FROM DVDS WHERE ID = 113 LIMIT 1';
        
    $ergebnis mysql_query($sql) or die(mysql_error());
        
    $row mysql_fetch_array($ergebnisMYSQL_ASSOC);
        
    $option $row['BILDV'];
        echo 
    '<select name="BILDV">';
        echo 
    '<option>Bitte wählen</option>';
        foreach (
    $options as $val)
        {
            
    $val number_format($val2',','');
        
    $sel $option == $val ' selected' '';
        echo 
    '<option value="'.$val.'"'.$sel.'>'.$val.'</option>';
        }
        echo 
    '</select>';
    ?>
    war die umstellung auf die kommas!

    puhh, danke mal an alle für die hilfe.

    @abraxax:
    sollte kein vorwurf oder irgendwas sein. ausm kopf ohne probieren könnte ich das nie

    Einen Kommentar schreiben:


  • TobiaZ
    antwortet
    testausgabe gemacht?

    hab den code jetzt nicht gelesen, aber könnte mir vorstellen, dass das mit (int) zu tun hat. (geraten) statt 2,35 wird dann einfach nur 2 == 2.00 genommen.

    Einen Kommentar schreiben:


  • sven k.
    antwortet
    die ausgaben geht jetzt:

    PHP-Code:
    echo '<option value="'.$val.'"'.$sel.'>'.number_format($val2',','').'</option>'
    lag am number_format!


    jetzt stimmt nur noch was mit dem vergleichen nicht.
    soll 2,35 auswählen macht aber 2,00.

    hmm, naja die nacht ist ja noch lang!

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    japp. wie gesagt ... habs einfach mal so hingeschrieben ohne zu testen ...

    Einen Kommentar schreiben:


  • penizillin
    antwortet
    http://de3.php.net/manual/de/language.expressions.php

    $option wird wohl nicht ordentlich gefüllt. aber du kannst ja mal selbst schauen, wie man die query gestalten soll und wie man alle ergebnisse in $option reinbekommt.

    Einen Kommentar schreiben:


  • sven k.
    antwortet
    jap, mit den ganzen ifs ist es wirklich nicht besonders schön.

    hab deinen code mal ausprobiert:

    Warning: mysql_fetch_array() [function.mysql-fetch-array]: The result type should be either MYSQL_NUM, MYSQL_ASSOC or MYSQL_BOTH. in /opt/lampp/htdocs/list/dvdeditieren.php on line 268

    PHP-Code:
    $row mysql_fetch_array($ergebnisMYSQL_FETCH_ASSOC); 
    hab dann mal MYSQL_ASSOC draus gemacht. das gab dann zumindest keine fehlermeldung mehr.

    funktioniert aber leider trotzdem nicht. die auswahlliste ist leer bis auf das "bitte wählen".

    ich bin aber dahinter gestiegen wie das funktionieren soll nur kenne ich denn teil mit dem "?" und ":" nicht. kann damit irgendwie noch nix anfangen.
    PHP-Code:
    $sel $option == $val ' selected' ''
    was macht man damit?

    Einen Kommentar schreiben:


  • Abraxax
    antwortet
    für jeden wert ein eigenes if() ?

    was ist, wenn wieder ein anderes bild-verhältnis vorhanden ist? dann alles wieder von vorne?

    ich habe deinen code mal etwas umgeschrieben. schaue es dir an. vielleicht kannst du daraus erkennen, wie es in zukunft einfacher geht.

    wenn du nun ein neues bild-verhältnis rein bekommst, brauchst du nur noch den neuen wert im array reinschreiben.
    PHP-Code:
    <?php

        $options 
    = array(1.331.661.781.8522.352.4);

        
    $sql 'SELECT BILDV FROM DVDS WHERE ID = 1 LIMIT 1';
        
    $ergebnis mysql_query($sql) or die(mysql_error());
        
    $row mysql_fetch_array($ergebnisMYSQL_FETCH_ASSOC);
        
    $option $row['BILDV'];
        
        echo 
    '<select name="BILDV">';
        echo 
    '<option>Bitte wählen</option>';
        
        foreach (
    $options as $val)
        {
            
    $sel $option == $val ' selected' '';
            echo 
    '<option value="'.$val.'"'.$sel.'>'.
                 
    number_format($val2',').'</option>'
        
    }
        
        echo 
    '</select>';
        
    ?>
    der code ist natürlich ungetestet, sollte aber funktionieren.

    Einen Kommentar schreiben:


  • sven k.
    antwortet
    Funktioniert!

    Hier mal mein Code falls es später noch jemand interessiert:

    PHP-Code:
        $sql "SELECT BILDV FROM DVDS WHERE ID = 1";
        
    $ergebnis mysql_query($sql);
        
    $row mysql_fetch_object($ergebnis);
        
    $option "$row->BILDV";
        print 
    "<select name=BILDV size=1>";
        print 
    "<option>Bitte wählen</option>";
        if (
    $option=="1,33") { print "<option selected>1,33</option>"; }
        else { print 
    "<option>1,33</option>"; }
        if (
    $option=="1,66") { print "<option selected>1,66</option>"; }
        else { print 
    "<option>1,66</option>"; }
        if (
    $option=="1,78") { print "<option selected>1,78</option>"; }
        else { print 
    "<option>1,78</option>"; }
        if (
    $option=="1,85") { print "<option selected>1,85</option>"; }
        else { print 
    "<option>1,85</option>"; }
        if (
    $option=="2,00") { print "<option selected>2,00</option>"; }
        else { print 
    "<option>2,00</option>"; }
        if (
    $option=="2,35") { print "<option selected>2,35</option>"; }
        else { print 
    "<option>2,35</option>"; }
        if (
    $option=="2,40") { print "<option selected>2,40</option>"; }
        else { print 
    "<option>2,40</option>"; } 

    Einen Kommentar schreiben:


  • sven k.
    antwortet
    Olla!

    Das sieht gut aus!!!

    Danke Dir, probiers gleich mal aus.

    Einen Kommentar schreiben:


  • penizillin
    antwortet
    php setzt ja nur deinen html-code zusammen. so müssen option-felder zeile für zeile folgendes konstrukt durchlaufen:
    Code:
    wenn (WERT == der_zu_selektierende) 
       { gibtaus( "<option selected>WERT</option>") }
    sonst
       { gibtaus( "<option>WERT</option>") }
    oder sowas.

    Einen Kommentar schreiben:


  • Mordred
    antwortet
    if($xy=="1,33") {echo('selected');}
    if($xy=="1,66") {echo('selected');}
    if($xy=="1,78") {echo('selected');}
    ...

    Einen Kommentar schreiben:


  • sven k.
    hat ein Thema erstellt Auswahlliste vorselektiert mit Daten aus der DB?.

    Auswahlliste vorselektiert mit Daten aus der DB?

    Schwere Threadtitel... sorry!

    Ich habe folgenden HTML-code:
    PHP-Code:
    <select name="BILDV" size="1">
       <
    option>Bitte wählen</option>
       <
    option>1,33</option>
       <
    option>1,66</option>
       <
    option>1,78</option>
       <
    option>1,85</option>
       <
    option>2,00</option>
       <
    option>2,35</option>
       <
    option>2,40</option>
    </
    select
    Das Ergebnis dieser Liste wird in eine DB (MySQL) eingetragen.

    Jetzt möchte ich falls ich was falsch ausgewählt habe das ganze nochmal editieren.
    Es soll also beim klick auf einen Editieren-Link eine neue Seite starten wo die DB abgefragt wird und eben das was schon in der DB eingetragen ist VORSELEKTIERT in dieser Auswahlliste erscheint.

    In HTML geht das normalerweise mit <option selected> aber ich weiß nicht wie ich das in PHP umsetzen soll das er mir auch das richtige auswählt.

    Hoffe Ihr versteht was mein Problem ist und könnt mir nen Tipp geben.
Lädt...
X