foreach trägt zu viel werte ein

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

  • foreach trägt zu viel werte ein

    Hallo Leute,
    ich brauche mal wieder eure Hilfe!

    Ich möchte bestimmte Werte aus einem Bestellformular entnehmen!
    Hier das Formular:
    PHP-Code:
    foreach($_POST as $key=>$produkt) {
    if(
    $produkt0) {
    $wselect mysql_query("SELECT * FROM xyz_liste WHERE ID = '$key'");
    $frow mysql_fetch_array($wselect);
    echo 
    "<tr>\n";
    echo 
    "<td>\n";
    echo 
    "<input readonly id=\"bestellform\" type=\"text\" 
    name=\""
    .$frow['ID']." size=\"2\" value=\"".$produkt."\"></td>\n";
    echo 
    "<td><textarea readonly id=\"bestellform\" 
    name=\"beschreibung\" rows=\"5\" cols=\"20\" scrollbars=\"0\">"
    .$frow['jahr'].
    "
    .$frow['weinname']."\n".$frow['untername']."</textarea></td>";
    echo 
    "<td><input readonly id=\"bestellform\" type=\"text\" 
    name=\"einzelpreis\" size=\"4\" value=\""
    .$frow['preis']."\">&euro;</td>\n";
    echo 
    "<td><input readonly id=\"bestellform\" type=\"text\" 
    name=\"gesamtpreis\" size=\"4\" value=\""
    .$produkt*$frow['preis']."\">&euro;</td>\n";
    echo 
    "</tr>\n";
    }

    Hier die nächste Datei, an die die Daten von oben gesendet werden:
    PHP-Code:
    mysql_query("INSERT INTO wpp_bestellungen(......) VALUES(....) OR die(".mysql_error().");
    foreach(
    $_POST as $key=>$produkt){
    $erow = mysql_fetch_array(mysql_query("SELECT FROM xyz_liste WHERE ID='$key'"));
    mysql_query("
    INSERT INTO xyz_liste2(.....) VALUES(.....)");

    Wenn ich das ganze an die Datei schicke, dann werden viel zu viele Datenbankeinträge gemacht. Es wurden aber in der 1. Datei nur 2 Einträge ausgegeben.

    Wo ist mein Fehler???

    Ich hoffe ihr könnt mir helfen, schon mal danke im vorraus!

  • #2
    was heißt zu viele?

    aus dem code ist gar nicht klar, was wie oft eingetragen werden soll.

    Kommentar


    • #3
      In der Datei oben, werden 2 Einträge ausgegeben. Das können auch mehr oder weniger sein, das kommt drauf an wie viel man in der vorherigen Datei bei Bestellen angegeben hat

      Kommentar


      • #4
        und warum nimmst du dann foreach, dessen zykluszahl von der anzahl der elemente in $_POST abhängt?

        Kommentar


        • #5
          Ich stehe grad absolut aufm Schlauch.

          und warum nimmst du dann foreach, dessen zykluszahl von der anzahl der elemente in $_POST abhängt?
          Weil ich keine andere Möglichkeit sehe! Ich muss die ID jeweils übertragen

          Kommentar


          • #6
            vielleicht verrätst du endlich, was in der foreach schleife passiert und was eigentlich passieren soll?

            Kommentar


            • #7
              in der 1. foreach schleife wird die ID und die Menge aus eine vorherigen Datei mitgeliefert und in der 2. soll die aus der 1. Datei mitgeliefert werden!

              Leider werden in der 2. foreach schleife zu viel datenbankeinträge gemacht. Es sind in meinem Fall nur 2 und es werden 5 eingetragen und das mit völlig falschen Werten!

              Kommentar


              • #8
                ja, worüber möchtest du denn iterieren?

                Kommentar


                • #9
                  Kannst du mir nicht bitte einfach mal helfen? Ich hab deine nötigen Fragen beantwortet!

                  Kommentar


                  • #10
                    nein, du musst schon selbst wissen, worüber die zweite schleife laufen soll.

                    Kommentar


                    • #11
                      Original geschrieben von penizillin
                      nein, du musst schon selbst wissen, worüber die zweite schleife laufen soll.
                      Das habe ich dir bereits gesagt! Sie soll über foreach laufen, da das für mich die einzigste Möglichkeit ist, so wie ich das sehe zumindest. Ich weis nicht, wie ich es über eine andere Schleife machen könnte.....

                      Kommentar


                      • #12
                        du verstehst nicht. wie oft soll deiner meinung nach die foreach schleife laufen?

                        Kommentar


                        • #13
                          Das kommt auf die Anzahl der gewählten Produkte an. Die Schleife soll so genau so oft durchlaufen wie Produkte gewählt worden sind.

                          Kommentar


                          • #14
                            ok, und die anzahl der elemente im $_POST array entspricht genau der anzahl der gewählten produkte?

                            Kommentar


                            • #15
                              Um das ganze mal näher zu veranschaulichen:
                              Ich hab hier schon mal so ein Problem gehabt, allerdings ging es damals um die Verarbeitung:

                              http://www.php-resource.de/forum/sho...threadid=75575

                              der Post von "ZombieChe"

                              Kommentar

                              Lädt...
                              X