Problem bei Schleife zum Vergleich von Arrays

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

  • Problem bei Schleife zum Vergleich von Arrays

    Hallo Forum,

    ich habe ein Problem beim Vergleich eines DB-Eintrags mit dem Inhalt eines Arrays und der entsprechenden Selektion des übereinstimmenden Eintrags.

    PHP-Code:
    $styles_eng = array ('none''all pages','even pages only','odd pages only','pageNumber/totalNumber format');
                                
    $styles_de = array ('keine''alle Seiten','nur Seiten','nur Deckblätter','keine Ahnung');
                                for(
    $j=0$j<count($styles_eng); $j++)
                                {
                                    if(
    $styles_eng[$j] == $nummerierung)
                                    {
                                        echo
    "<option value='$styles_eng[$j]' selected>$styles_de[$j]</option>";    
                                    }
                                    else{echo
    "<option value='$styles_eng[$j]'>$styles_de[$j]</option>";}                                
                                } 
    Zur Theorie:
    ----------------------------
    In der DB stehen englische Wörter die im Backend in einer Dropdown-Liste auf deutsch angezeigt werden sollen. Der Wert der in der DB steht soll in der DropDown-Liste selektiert sein.

    Meine Idee
    ----------------------------
    Einen Array mit den deutschen Wörtern und einen mit den englischen.
    Den DB-Eintrag abholen ($nummerierung) und mit dem englischen Array in einer Schleife auf Übereinstimmung vergleichen. Wenn gleich, dann Eintrag erzeugen und selektieren. Wenn nicht gleich, dann nur einen Eintrag in der DropDown-Liste erzeugen.

    Ist-Stand
    -----------------------------
    Die Dropdownliste wird mit allen Einträgen erzeugt. Selektiert wird aber nur der richtige Eintrag wenn er am Index 0 oder 1 ist.

    Frage und Problem
    -----------------------------
    Warum ist der Fehler wie oben beschrieben und wie kann ich das ändern.

    Gruß aus Hannover,
    Alex

  • #2
    lösch mal bitte die überflüssigen leerzeichen aus deinem code, dann kann ich mir das scrollen sparen.

    Kommentar


    • #3
      ich habe nicht verstanden, was in $nummerierung steht.

      Kommentar


      • #4
        PHP-Code:
        $styles_eng = array ('none''all pages','even pages only','odd pages only','pageNumber/totalNumber format');
        $styles_de = array ('keine''alle Seiten','nur Seiten','nur Deckblätter','keine Ahnung');
        foreach(
        $styles_eng as $key=>$value)
        {
             if(
        $value == $nummerierung){
                 echo 
        '<option value="'.$value.'" selected=="selected">'.$styles_de[$key].'</option>'
            }else{
                  echo 
        '<option value="'.$value.'">'.$styles_de[$key].'</option>'
             }

        Hilft das weiter ?

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Leider keine Veränderung

          Hallo Tobi,

          leider hat das nichts gebracht. Bitte um weitere Hilfe.

          @ penizillin

          in $nummerierung ist der Eintrag aus der DB. Also z.B. 'none'

          Gruß Alex

          Kommentar


          • #6
            der code ist im grunde funktionsfähig, der fehler liegt wohl irgendwo anders, daher musst du ihn durch testausgaben lokalisieren.

            zeig mal var_dump() von $nummerierung.

            Kommentar


            • #7
              Hallo Tobi,

              leider hat das nichts gebracht. Bitte um weitere Hilfe.
              Nee, da sind ja auch immer noch welche drin!

              Kommentar


              • #8
                Re: Problem bei Schleife zum Vergleich von Arrays

                versuch's mal mit sizeof() anstatt count()

                @jahviles. Warum as $key=>$val .. der Array ist nicht assoziativ. Das doppelte Gleichheitszeichen gehört auch nicht in das <option>-Feld.

                Rocco
                Zuletzt geändert von Rocco; 18.08.2006, 21:21.

                Kommentar


                • #9
                  Re: Re: Problem bei Schleife zum Vergleich von Arrays

                  Original geschrieben von Rocco
                  versuch's mal mit sizeof() anstatt count()
                  sizeof -- Alias für count()

                  Kommentar

                  Lädt...
                  X