Mehrere Arrays vom Formularfeldern in Datenbank schreiben

  • Hallo zusammen,

    ich habe ein Problem mit dem hinzufügen von Daten in meiner Datenbank.
    Ich finde es ein wenig kompliziert und hoffe das mir jemand helfen kann.

    Bevor ich hier ewig rede zeige ich mal ein wenig code.

    Also der Code von oben erstellt schon mal meine Formularfelder dynamisch her, dies klappt auch ohne Probleme. Beim Eintragen habe ich nun aber schwierigkeiten mit der Verarbeitung der Arrays. Einzele Arrays kann ich ausgeben und in die DB schreiben, aber sobald es mehre werden bekomme ich Probleme mit den Schleifen.

    Hier mein INSERT mit der Schleifen:

    Problem ist halt das ich jetzt 219 Seiten voll mit Einträgen erhalte, da jede Schleife immer wieder durchgangen wird. Wie kann ich die Daten richtig in die Datenbank schreiben? Das Problem sind die 4 foreach-Schleifen. Könnte man es auf eine Schleife reduzieren?

    Habe schon einiges probiert, aber ohne Erfolg. Freue mich auf jede Anwort.

  • Am besten währe natürlich wenn du das komplette Script mit mal SQL Tabellen posten würdest, dann könnte man sich das mal komplett ansehen...
    Falls des nicht willst, dann poste mal noch bitte das Array per serialize()

    PHP
    <?php
    echo serialize($_POST);
    ?>

    Und poste das hier. (natürlich mit guten Daten zum testen)

    Gruß crAzywuLf :D

  • Hier mal das ganze Script

    Tabelle in der die Daten gespeichert werden sollen:

    Code
    `quoten_id` int(11) NOT NULL auto_increment,
      `quoten_user_id` int(11) NOT NULL,
      `quoten_spieltag_id` int(11) NOT NULL,
      `anbieter_id` int(11) NOT NULL,
      `quoten_heim` varchar(11) NOT NULL,
      `quoten_remie` varchar(11) NOT NULL,
      `quoten_aus` varchar(11) NOT NULL,
      PRIMARY KEY  (`quoten_id`)

    Wie gesagt die Ausgabe der Felder klappt so wie ich mir das vorstelle. Problem ist nur das INSERT mit den ganzen Array Formularfelern und der Schleifen und Problem darstellt.

  • Du Witzbold :D,
    ich wollte gerne Daten zum testen haben, dass ich nicht wie jetzt ohne irgendwas zutesten dir was dahinochsen muss.

    Probier mal das hier...

    Gruß crAzywuLf :D

    Einmal editiert, zuletzt von crAzywuLf (13. April 2009 um 19:16)

  • Hi crAzywuLf,

    Vielen Dank das hat mir geholfen! Ich wäre niemals drauf gekommen ,
    obwohl es ja eigentlich auf der Hand liegt.
    Habe es noch ein wenig verändert, damit es das macht was ich will :D

    Jetzt werden auch für mehrere Anbieter neue Einträge angelegt,
    da theortisch für jede Spielbegegnung eine Quote von einem anderen
    Anbieter (welche in der DB vorhanden sind) abzugeben sein soll.

    hier der Code:

  • Hallo nochmal,

    brauche noch mal eure Hilfe. Hab mich jetzt auch mal angemeldet, diese Sicherheitsabfragen nerven :D

    Zum Problem:

    es geht immer noch um das Tippspiel. Nun aber nicht mehr mit dem einfügen, sondern dem auslesen. Das auslesen soll ein wenig spieziell sein:
    Es sollen für jeden Spieltag individuell die höchsten Quoten von verschiedenen Anbietern angezeigt werden, aber nur immer für einen Spieltag (der User gibt ja für viele verschiede Anbieter Quoten an).

    Hier mal ein Beispiel: (bisschen unformatiert)
    H R A Summe 
    Köln – Stuttgart 3,9 1,9 2,4
      Anbieter1 Anbieter2 Anbieter3

    hier ist mein Code (der gibt aber alle Spielebegegnungen mit den jeweiligen Daten ausm. Soll aber nur eine Begegnung mit den den höchsten Quoten sein. Sollte ja mir ORDER BY und LIMIT zu machen sein, aber ich verzeiffel ein wenig daran.



    Die Tabellen:

    Spieltag:

    Quoten:

  • Moin,
    so bevor ich hier weiter helfe,...

    1. Hast du schonmal was von Einrücken gehört? Es gibt da so eine Taste auf der Tastatur die hat so einen Pfeil nach links und nach rechts und die dient unter anderem zum einrücken von Quelltext... solltest du dir dringend angewöhnen!!!
    Du rückst ein wie ein verrückter...

    2. Wenn ich Hilfe zu einem Quelltext brauche und dieser mit SQL Tabellen zutun hat, fügt man jede SQL Tabelle die darin vorkommt hinzu um den Leuten die einem helfen wollen die ganze Sache um einiges zu vereinfachen, dass heisst du gibst in dein phpMyAdmin oder deine Console:

    Zitat


    SHOW CREATE TABLE `TABELLENNAME`

    und da kommt dann sowas raus wie z.B.:

    und das fügst du dann anbei...

    3. Wenn du einen aktuellen Stand hast, dann kannst du uns ruhig auch den Link zur Online Version geben, der hilft in vielen Situationen um den Fehler schneller zu finden.

    Gruß crAzywuLf :D