Optionsfeld mit Mehrfachauswahl die 2te

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

  • Optionsfeld mit Mehrfachauswahl die 2te

    Auf der Ausgabeseite gebe ich noch mal die Möglichkeit bei Fehlern auf die Eingabeseite zurück zukommen.

    Und jetzt kommt das Problem:

    Da ich die Var species im Array habe und nun die selected in der Optionsfeld machen will, kommt es zu Fehlern.
    Hier mal der Code für das Auslesen aus der Datenbank und den selected der Einträge:
    PHP-Code:
    <select size="9" name="species[]" multiple>
    <?php
    $te 
    count($species);
    for (
    $i=0$i<$te$i++)
    {
    $res mysql_query("SELECT * FROM osg_species");
    while(
    $r mysql_fetch_array($res))
    {
    echo 
    "<option value='$r[id]'";
    if(
    $r[id] == $species[$i])
    {
    echo 
    " selected ";
    }
    echo 
    ">$r[species1] $r[species2]</option>\n";
    }
    }
    ?>
    </select>
    Habe ich nur ein Wert im Array, wird die Optionsliste nur einmal geladen. Habe ich aber mehrer Wert im Array wird jedesmal die die Optionsliste neu geladen.

    Was ist denn jetzt schon wieder falsch, oder habe ich nur ein Denkfehler.
    Zuletzt geändert von Wotan; 10.07.2002, 15:54.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    hmm,

    wow ich weiss nicht ob es so ist aber ich sehe da ein Problem, denn es ist nicht gesagt das die Reihenfolge in der DB der Reihenfolge im Array entsprechen muss, durch löschenungen etc. kann es durch die Dynamic der DB zu veränderungen kommen, daran kann es liegen !

    Ausserdem erhöhst du jedesmal sowohl $i als auch $r, aber wen ich eines mal nicht anwähle dann stimmt das nimmer überein, oder ?

    Ist halt schwirig sowas von ausserhalb zu sehen weil mir die Daten fehlen um es zu testen, also nix für ungut wenn mal keiner antwortet

    Kommentar


    • #3
      Nein das komische ist das die Ausgaben stimmen, Aber ebent das er mir für jeden Durchlauf , auch die Datenneu aus der Dtaenbank holt, anstatt nur einmal die Datenholt und dann die Selected setzt. Das ist mein Problem.
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        hmm,

        achso joo, ist ja klar
        in $i steht die anzahl der Angewählten Optionenen, das ist gewollt, aber dann erst kommt die While Schleife, die liest dann alle sachen aus und dies leider $i mal, oder ?
        Falsch verschachtelt oder ich bin völlig falsch verschachtel momentan

        Kommentar


        • #5
          Ist schon richtig was du bemerkt hast. Nur weiß ich nicht, wie ich es verschachteln muß, damit das raus kommt, was ich haben will.
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            <select size="9" name="species[]" multiple>

            <?php
            $res = mysql_query("SELECT * FROM osg_species");
            while($r = mysql_fetch_array($res))
            {
            echo "<option value='$r[id]'";
            if(in_array($r[id],$species))
            {
            echo " selected ";
            }
            echo ">$r[species1] $r[species2]</option>\n";
            }


            ?>

            </select>

            ...so vielleicht?
            eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

            Kommentar


            • #7
              @slarti

              Bis du PHP-Professor an der Uni?

              Du bist echt gut. Und schon wieder hast du mir geholfen.
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                no prob.
                eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                Kommentar

                Lädt...
                X