Mehrere Inserts auf einmal

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

  • #16
    Die Felder kannst du nicht anssprechen, du kannst nur auf deren Inhalt zugreifen. Die müssten nach dem Versenden des Formulars je nach Methode im jeweilig globalen Array vorhanden sein.

    Hast du mal geprüft, ob Bedingungen auch erfüllt werden? error_reporting(E_ALL) im Kopf der Datei wird dir sicherlich ein paar Hinweise liefern.

    Kommentar


    • #17
      ich probier das mal mit error_reporting(E_ALL)


      edit: hat nichts gebracht... bringt keine fehler und auch keine meldungen...

      wie kann ich denn auf den inhalt zugreifen in meinem fall?
      ich dachte mir ich setze in die while schleife irgenwas um auf den inhalt zuzugreifen und dann die werte in einen string, den ich dann über post übergebe ... oder?
      Zuletzt geändert von Jemand; 04.03.2006, 16:43.

      Kommentar


      • #18
        PHP-Code:
        echo "<pre>"print_r($_POST); echo "</pre>";

        foreach ( 
        $_POST as $value ) ... 
        Weiss zwar nicht was du damit bezwecken willst, aber du machst das schon
        EDIT:
        [COLOR=red]
        mysql_query($SQL);
        $result = mysql_query($SQL) or die("Anfrage fehlgeschlagen: " . $SQL . mysql_error());[/COLOR]
        Wieso setzt du das zwei mal ab? Doppelt gemoppelt hält besser oder wie? Lass dir mal $SQL ausgeben und versuch das ganze mal per phpMyAdmin einzufügen. Irgendwo muss ja dein komischer Fehler liegen.

        Zuletzt geändert von reallife; 04.03.2006, 17:13.

        Kommentar


        • #19
          huch, gar nicht gemerkt

          Kommentar


          • #20
            PHP-Code:
                while ($row mysql_fetch_row($result))
                {
                  
            printf("<tr>");
                  
            printf("  <td class='text'><input type='hidden' name='id' value='%s'>%s</td>",$row[0],$row[0]);
                  
            printf("  <td class='text'>%s</td>",$row[1]);
                  
            printf("  <td class='text'>%s</td>",$row[2]);
                  
            printf("  <td><select name='auswahl%s'>",$row[0]);
                  
            printf("        <option value='1'>anwesend</option>");
                  
            printf("        <option value='2'>anwesend - zu spaet</option>");
                  
            printf("        <option value='3'>fehlend - entschuldigt</option>");
                  
            printf("        <option value='4'>fehlend - nicht entschuldigt</option>");
                  
            printf("       </select></td>");
                  
            printf("  <td class='text' align='center'>
                              <input type='text' name='minuten%s' class='texteingabe' style='width: 50px'></td>"
            ,$row[0]);
                  
            printf("</tr>");
                } 
            Schau mal wie deine Formularfelder heissen - eine genaue Datensatz Zuordnung hast du da auch nicht mehr gewährleistet.
            Hinweis: wenn du aus deinen inputs ein Array machst, ist das ganze nachher einfach zu händeln.

            Bsp.:
            PHP-Code:
             // aus folgendem ..
                  
            printf("  <td><select name='auswahl%s'>",$row[0]);
            // könnte folgendes werden ..
                  
            printf("  <td><select name='ds[%s][auswahl]'>",$row[0]); 
            Selbiges könntest du bei den anderen geloopten Formular-Elementen auch machen und das hidden Feld mit der ID könnte wegfallen. An die ID kannst du auch anders kommen.

            Bsp. nach versenden des Formulares:
            PHP-Code:
            foreach ( $_POST['ds'] as $id => $arr )
            {
              
            // $id => würde dein Hiddenfeld ersetzen
              // $arr => würde ein weiteres Array sein
              // $arr['auswahl'] => würde deine Auswahl stehen
              // $arr['minuten'] => würde die Anzahl der Minuten stehen usw...

              // $SQL zusammenbauen und deine Query absetzen..

            Kommentar


            • #21
              vielen dank für deine hilfe....

              wenn ich morgen deine vorschläge umgesetzt habe melde ich mich hier noch mal...

              *bedank*

              Kommentar


              • #22
                edited ....

                siehe nächsten post.... danke
                Zuletzt geändert von Jemand; 09.03.2006, 10:31.

                Kommentar


                • #23
                  habe ein paar fehler gefunden und korrigiert ...

                  eintragen tut er immer noch nichts .. warum nur?


                  ich habe mal die php datei angehängt


                  PS: ich habe mal folgendes ausprobiert und da funktioniert das zusammensetzen.... kann es sein dass bei meinem richtigen teil die übergabe nicht funktioniert?

                  PHP-Code:
                  <?php

                  $datum 
                  date("Y.m.d");
                  $ds[1][klassenid] = 28;
                  $ds[2][klassenid] = 28;
                  $ds[1][id] = 1;
                  $ds[2][id] = 2;
                  $ds[1][auswahl] = 2;
                  $ds[2][auswahl] = 2;
                  $ds[1][minuten] = 5;
                  $ds[2][minuten] = 6;


                        
                  $sql_insert "INSERT INTO ANWESENHEIT
                                                 (KLASSENID, SCHUELERID, ANWESEND, MINUTEN, DATUM)
                                                VALUES "
                  ;
                        foreach ( 
                  $ds as $id => $arr )
                        {
                        
                  // $id => würde dein Hiddenfeld ersetzen
                        // $arr => würde ein weiteres Array sein
                        // $arr['auswahl'] => würde deine Auswahl stehen
                        // $arr['minuten'] => würde die Anzahl der Minuten stehen usw...

                        
                  $sql_insert .= "('$arr[klassenid]','$arr[id]','$arr[auswahl]','$arr[minuten]','$datum'),";

                        
                  // $SQL zusammenbauen und deine Query absetzen..

                        
                  }

                        
                  $sql_insert substr($sql_insert0, -1);

                        
                  printf($sql_insert);
                  ?>
                  Angehängte Dateien
                  Zuletzt geändert von Jemand; 09.03.2006, 10:34.

                  Kommentar


                  • #24
                    habs hingekriegt.... lag am button submit


                    danke für eure hilfe!

                    Kommentar

                    Lädt...
                    X