Mehrere Inserts auf einmal

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #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.

    Comment


    • #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?
      Last edited by Jemand; 04-03-2006, 16:43.

      Comment


      • #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.

        Last edited by reallife; 04-03-2006, 17:13.

        Comment


        • #19
          huch, gar nicht gemerkt

          Comment


          • #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..

            Comment


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

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

              *bedank*

              Comment


              • #22
                edited ....

                siehe nächsten post.... danke
                Last edited by Jemand; 09-03-2006, 10:31.

                Comment


                • #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);
                  ?>
                  Attached Files
                  Last edited by Jemand; 09-03-2006, 10:34.

                  Comment


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


                    danke für eure hilfe!

                    Comment

                    Working...
                    X