foreach trägt zu viel werte ein

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

  • #16
    beantworte doch einfach folgende fragen:

    - wie viele elemente enthält das array _POST?
    - wie viele artikel (und somit iterationen von foreach) werden dabei erwartet?

    Kommentar


    • #17
      $_POST enthält 2 Elemente die ID und den Wert des Feldes

      Die zahl der Artikel entsteht aus den ausgewählten Artikel

      Kommentar


      • #18
        könntest du das mit einem var_dump() belegen?

        Kommentar


        • #19
          Was soll ich mit var_dump hinterlegen?

          Kommentar


          • #20
            $_POST
            und dann zeigen.

            Kommentar


            • #21
              so hier:
              Ich hab das Script folgendermaßen durchlaufen lassen:
              PHP-Code:
              foreach($_POST as $key=>$produkt){
              echo 
              "key =>".var_dump($key)."<br>\n";
              echo 
              "produkt =>".var_dump($produkt)."<br>\n";

              string(4) "name" key =>
              string(3) "asd" produkt =>
              string(3) "ort" key =>
              string(3) "asd" produkt =>
              string(7) "strasse" key =>
              string(4) "asda" produkt =>
              string(7) "telefon" key =>
              string(2) "sd" produkt =>
              string(5) "email" key =>
              string(3) "asd" produkt =>
              string(13) "zahlungsweise" key =>
              string(10) "Barzahlung" produkt =>
              string(12) "kontoinhaber" key =>
              string(0) "" produkt =>
              string(11) "kontonummer" key =>
              string(0) "" produkt =>
              string(3) "blz" key =>
              string(0) "" produkt =>
              string(8) "bankname" key =>
              string(0) "" produkt =>
              string(9) "kommentar" key =>
              string(0) "" produkt =>
              string(2) "id" key =>
              string(1) "9" produkt =>
              string(5) "menge" key =>
              string(1) "4" produkt =>
              string(12) "beschreibung" key =>
              string(35) "2005 Hammelburger Burg Bacchus QbA" produkt =>
              string(11) "einzelpreis" key =>
              string(5) "10.00" produkt =>
              string(11) "gesamtpreis" key =>
              string(2) "40" produkt =>
              string(8) "endpreis" key =>
              string(4) "73.5" produkt =>
              string(2) "go" key =>
              string(19) "Bestellung aufgeben" produkt =>

              Kommentar


              • #22
                mach einfach

                echo "<pre>";
                print_r($_POST);
                echo "</pre>";

                und dann schaust ob die Anzahl der POST-Elemente
                der gewünschten Anzahl Deiner foreach-Durchgänge
                entspricht.

                tut sie nämlich nicht.

                Kommentar


                • #23
                  offensichtlich enthält das array ca. 40 elemente.
                  und wie oft sollte die schleife in diesem fall durchlaufen werden?

                  Kommentar


                  • #24
                    Das Problem ist das auf der Seite noch mehr Formularfelder sind (Name, Wohnort, etc...). Wie kann ich diese mit der foreach schleife ausschliesen und somit nur bestimmte Felder verarbeiten?

                    Kommentar


                    • #25
                      du sollst nichts ausschließen. du sollst erst mal verstehen, dass foreach für diese zwecke einfach nicht geeignet ist. und jetzt beantworte doch endlich die frage!

                      Kommentar


                      • #26
                        Ja gut ich sehe es ein, dass foreach dafür nicht geeignet ist, da die zahl der post elemente mit den durchgängen nicht übereinstimmt. Gibt es eine Möglichkeit mein Vorhaben zu realisieren?

                        Kommentar


                        • #27
                          Original geschrieben von lightdisc
                          Gibt es eine Möglichkeit mein Vorhaben zu realisieren?
                          Natürlich [1] - verarbeite nur die Werte, die du verarbeiten willst.
                          Sie zuvor logisch zu gruppieren, könnte dabei hilfreich sein.



                          [1] bzw., es kommt darauf an, ob du langsam mal ein bisschen mitdenkst.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #28
                            schreib die namen der zu verarbeitenden felder in ein array und durchlaufe das dann.

                            gruß
                            peter
                            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                            Meine Seite

                            Kommentar

                            Lädt...
                            X