Komm nicht weiter (Array aus Datenbank)

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

  • Komm nicht weiter (Array aus Datenbank)

    habe foldgende Code
    PHP-Code:
        <select size="4" name="species[]" multiple><?php
        $species 
    $rat[species];
        
    $res mysql_query("SELECT * FROM osg_species");
        while(
    $r mysql_fetch_array($res))
            {
            echo 
    "<option value='$r[id]'";
            if(
    in_array($r[id],$rat['species'])) // zeile 39
                
    {
                echo 
    " selected ";
                }
            echo 
    ">$r[species1] $r[species2]</option>\n";
            }
        
    ?></select>
    In der Var $rat[species] befinden sich die Werte 3 und 5 (3,5)
    Jetzt bekomme ich aber diese Fehlermeldung:
    <b>Warning</b>: Wrong datatype for second argument in call to in_array in <b>C:\wampp2036\htdocs\osg\opd\new_project.edit.php</b> on line <b>39</b><br />
    >Cape Clawless Otter Aonyx capensis
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    *schiebhoch*
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      kannst mir mal erklären was du da überhaupt vorhast?
      Seien wir realistisch, versuchen wir das unmögliche. - Chè Guavara

      Kommentar


      • #4
        ...erstmal würde ich mir für assoziative arrays die richtige syntax angewöhnen:
        $rat["species"] bzw. $rat[$species], da man sonst schnell mal durcheinander kommt.

        dann mußt auch prüfen, ob dat nen array is:
        if(is_array($rat["species"])){
        if(in_array($r["id"],$rat["species"]))echo " selected ";
        }
        else var_dump($rat["species"]); //kannste auch gleich mal nachschaun...
        Zuletzt geändert von slarti; 13.08.2002, 14:02.
        eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

        Kommentar


        • #5
          Gut die Fehlermeldung its weg, aber ich bekomme kein Selected mehr auf das Multi-Select-Feld.
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            Original geschrieben von cheeby
            kannst mir mal erklären was du da überhaupt vorhast?
            Ich speichere die Wert aus einem Multi-Select-Feld in der Datenbank und hole diese dann an anderer Seite wieder aus der Datenbank raus. Da dies ein Array ist hab ich damit meine Probleme.
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              autsch
              stimmt
              sollte ich eigentlich bemerken
              naja hab nur 1 stunde geschlafen
              Seien wir realistisch, versuchen wir das unmögliche. - Chè Guavara

              Kommentar


              • #8
                also:
                vorausgesetzt, $rat["species"] is nen array, und da stehen auch die richtigen werte drinne,
                dann sollte
                PHP-Code:
                <select multiple size="4" name="species[]">
                <?php
                    $res 
                mysql_query("SELECT * FROM osg_species");
                    while(
                $r mysql_fetch_array($res))
                        {
                        echo 
                "<option value=\"$r["id"]\"";
                        if(
                in_array($r["id"],$rat["species"])) 
                            {
                            echo 
                " selected";
                            }
                        echo 
                ">".$r["species1"]." ".$r["species2"]."</option>\n";
                        }
                    
                ?>
                </select>
                ...eigentlich funzen.
                falls nicht, würd ich mir mal mit var_dump() $r und $rat["species"] ansehen.
                Zuletzt geändert von slarti; 13.08.2002, 15:39.
                eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                Kommentar


                • #9
                  @slarti

                  Hier mal die Ausgabe von der Var $rat[species] und der var_dump($rat[species])
                  1,2 = Array
                  string(3) "1,2" = var_dump

                  P.S.: Der letzte Script-Ansatz bringt wieder nur die Fehlermeldung Wrong parameter
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    string(3) "1,2"
                    ...und was fällt dir dabei auf?

                    mach mal
                    PHP-Code:
                    if(in_array($r["id"],(explode(",",$rat["species"]))))echo " selected"
                    eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                    Kommentar


                    • #11
                      Ohne die " in den Klammer geht es.

                      Dank dir.
                      *winks*
                      Gilbert
                      ------------------------------------------------
                      Hilfe für eine Vielzahl von Problemen!!!
                      http://www.1st-rootserver.de/

                      Kommentar

                      Lädt...
                      X