[Funktion] Problem mit search_array

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

  • [Funktion] Problem mit search_array

    PHP-Code:
    function load() {
    global 
    $temp_adr_id$id$kateg$kategorie;
    $kategorie explode(";"$kateg);
    print_r($kategorie);
    echo 
    "<form name=\"kateg\" method=\"post\" action=\"kateg.php?action=write&temp_adr_id=$temp_adr_id\">";
    $read_003 mysql_query("SELECT * FROM msc_kateg ORDER BY name");
                            while(list(
    $id$name) = mysql_fetch_row($read_003)) 
                            {
                            
                            
    $key array_search($name$kategorie);
                            if (
    $key!==null&&$key!==false) {

                                echo 
    "<input type=\"checkbox\" name=\"kateg[]\" value=\"$name\" checked> $name<br>";
                                }
                                else
                                {
                                echo 
    "<input type=\"checkbox\" name=\"kateg[]\" value=\"$name\"> $name<br>";
                                }
                            } 
                            
    print_r($kategorie);
                    echo 
    "<input type=\"submit\" name=\"Submit\" value=\"Abschicken\">
                    </form>"
    ;

    Das script durchsucht mir des array nur an Position 0. Wenn zB. 3 Werte im Array stehen dann bringt er mir 1x True und 2 Fals, was ist daran falsch?!?

    Gru? manfred

  • #2
    mit in_array() bist du imho auf dere sichereren seite
    Kissolino.com

    Kommentar


    • #3
      funktioniert leider genausownig. Das war ja ursprünglich mein erster weg, bin dann umgestiegen das ergebniss bbleit aber leider das gleiche. Er findet den ersten wert, egal ob meine sql schleife zum ersten oder zum 3 mal läuft, nachdem er einen wert im array gefunden hat kommt immer false raus

      Kommentar


      • #4
        PHP-Code:
        function load() {
        global 
        $temp_adr_id$id$kateg$kategorie;
        $kategorie explode(";"$kateg);
        print_r($kategorie);
        echo 
        "<form name=\"kateg\" method=\"post\" action=\"kateg.php?action=write&temp_adr_id=$temp_adr_id\">";
        $read_003 mysql_query("SELECT * FROM msc_kateg ORDER BY name");
                                while(list(
        $id$name) = mysql_fetch_row($read_003)) 
                                {
                                
                                    if (
        in_array($name$kategorie))
                                     {

                                    echo 
        "<input type=\"checkbox\" name=\"kateg[]\" value=\"$name\" checked> $name<br>";
                                    }
                                    else
                                    {
                                    echo 
        "<input type=\"checkbox\" name=\"kateg[]\" value=\"$name\"> $name<br>";
                                
                                    }
                                } 
                                
        print_r($kategorie);
                        echo 
        "<input type=\"submit\" name=\"Submit\" value=\"Abschicken\">
                        </form>"
        ;

        Kommentar


        • #5
          Original geschrieben von BlackPixel
          [mehrere zeilen php-code ...]
          [ ] das ist meine funktionierende lösung, die ich jetzt gefunden habe
          [ ] dazu möchte ich eine frage stellen

          zutreffendes bitte ankreuzen.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Original geschrieben von wahsaga
            [ ] das ist meine funktionierende lösung, die ich jetzt gefunden habe
            [ ] dazu möchte ich eine frage stellen
            [x] Dies ist ein anhang zum vorhergehenden Post

            zutreffendes bitte ankreuzen.

            Hab den Fheler nun gefunden. Kurze erklärung:
            Wenn ich einen String mit explode(";" zerlege, und ihn mit implode("; ")
            zusammensetze ist das leider nicht das gleiche. Hat übrigens auch mein parser gemeint

            Gruß manfred

            Kommentar

            Lädt...
            X