Mehrere Inserts auf einmal

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

  • Mehrere Inserts auf einmal

    hallo zusammen.

    ich habe hier zwar im forum ein fast gleiches beispiel gefunden, das half mir aber nicht weiter.

    hier mein problem:

    ich habe ein formular in welches daten geladen werden.

    PHP-Code:
    <?php
      session_start
    ();
      include 
    'sessionhelpers.inc.php';

      if(!
    logged_in())
         echo 
    '<html>
                <head>
                  <title>Login</title>
                  <link href="style.css" rel="stylesheet" type="text/css">
                </head>
              <body class="body">
                <div align="center">
                  <table>
                    <tr>
                      <td class="text_fehler">Sie sind nicht eingeloggt.</td>
                    </tr>
                    <tr>
                      <td class="text"><a href="login.php">zum Login!</a></td>
                    </tr>
                  </table>
                </div>
              </body>
              </html>'
    ;

      if(
    logged_in())
      {
        
    $klassenid $_REQUEST['id']; 
        
        
    $SQL "SELECT KLASSENNAME FROM KLASSEN WHERE ID = $klassenid";
        
    $result mysql_query($SQL) or die("Anfrage fehlgeschlagen: " $SQL mysql_error());
        
    $row mysql_fetch_row($result);
        
    $klasse $row[0];
    /********************************************************************************************/
        
    if(isset($_POST['eintragen']))
        {
          
    $datum date;
          
    $SQL "INSERT INTO ANWESENHEIT (KLASSENID, SCHUELERID, ANWESEND, MINUTEN, DATUM)
                  VALUES (
    $klassenid, '".$_REQUEST['id']."', '".$_REQUEST['auswahl']."',
                              '"
    .$_REQUEST['minuten']."', $date)";
          
    mysql_query($SQL);
          
    $result mysql_query($SQL) or die("Anfrage fehlgeschlagen: " $SQL mysql_error());
        }
    /********************************************************************************************/
        
    else
        
    printf("<form method='post' action='anwesenheit.php'>");
        
    printf("<html>
                  <head>
                    <title>Anwesenheitsprüfung für 
    $klasse</title>
                    <link href='style.css' rel='stylesheet' type='text/css'>
                  </head>
                <body class='body'><br>"
    );
        
    printf("<div align='center'>");
        
    printf("<table border='1'>");

        
    $query "SELECT SCHUELER.ID, SCHUELER.NAME, SCHUELER.VORNAME FROM SCHUELER WHERE
                  SCHUELER.KLASSENID = ('"
    .$_REQUEST['id']."') ORDER BY SCHUELER.NAME ASC";
        
    $result mysql_query($query) or die("Anfrage fehlgeschlagen: " $query mysql_error());

        
    printf("<table border='1'>");
        
    printf("  <tr>");
        
    printf("    <td class='text' colspan='9' align='center'>Anwesenheitsprüfung für $klasse:</td>");
        
    printf("  </tr>");
        
    printf("  <tr>");
        
    printf("    <td class='text'>ID:</td>");
        
    printf("    <td class='text'>Name:</td>");
        
    printf("    <td class='text'>Vorname:</td>");
        
    printf("    <td class='text'>Auswahl:</td>");
        
    printf("    <td class='text'>Minuten:</td>");
        
    printf("  </tr>");

        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>");
        }
        
    printf("</table>");
        
    printf("<br>");
        
    printf("<input type='hidden' name='klassenid' value='".$klassenid."'>");
        
    printf("<input name='id' type='hidden' id='id' value=%s class='button'>
                <input type='submit' value='eintragen' class='button'>"
    ,$klassenid);
        
    printf("<br>");
        
    printf("</form>");
        
    printf("<br><a href='index.php'>zurück zur Hauptübersicht</a></div></body></html>");
      }
    ?>
    und irgendwie kriege ich es nicht gebacken, dass der dann alle daten einträgt...

    auch wenn es nur einen schueler gibt trägt der nichts ein...

    ich bin am verzweifeln...


    bitte helft mir, bzw gebt mir einen tipp wie ich mehrere inserts auf einmal machen kann?!

    danke im vorraus
    Zuletzt geändert von Jemand; 04.03.2006, 16:22.

  • #2
    Vermutlich bist du auch auf unsere Regeln gestoßen und befolgst sie bitte: http://www.php-resource.de/forum/sho...threadid=50454

    Übrigens ein sehr schönes beispiel für den Misbrauch an printf().

    Kommentar


    • #3
      was meinst du da genau? ich habe doch mein problem beschrieben ...

      ich versuche mehrere inserts auf einmal zu machen... aber er trägt gar nichts ein ...

      ohne fehlermeldung ... es passiert einfach gar nichts.

      wenn ich wüsste warum, dann würde ich bestimmt nicht andere nach lösungen/vorschlägen fragen...

      deswegen hab ich ja auch den ganzen quelltext geposted..

      falls euch etwas nicht an dem post gefällt, dann sagt bitte genau was... hellsehen kann ich nicht, sorry

      PS: missbrauch von printf(),... ja hab ich mir auch gedacht... aber sonst bringt der nen fehler: too many arguments in printf();

      Kommentar


      • #4
        falls euch etwas nicht an dem post gefällt, dann sagt bitte genau was... hellsehen kann ich nicht, sorry
        lesen anscheinend auch nicht!

        Du hast weder [PHP]-Tags benutzt, noch deinen Code umgebrochen. Erwartest nicht ernsthaft ne Hilfe, oder?

        Kommentar


        • #5
          den code habe ich nicht umgebrochen weil ich die datei so wie sie war gepasted habe. sql-befehle die ich umbreche funktionieren danach nicht mehr. warum auch immer...

          zu den php tags... meinst du jetzt im post oder in der datei selbst?


          wenn in der datei selbst, dann kann ich nichts dafür, der lehrer will das so haben....

          Kommentar


          • #6
            den code habe ich nicht umgebrochen weil ich die datei so wie sie war gepasted habe. sql-befehle die ich umbreche funktionieren danach nicht mehr. warum auch immer...
            ja ne, ist klar. Die anderen User schaffen das alle...

            zu den php tags... meinst du jetzt im post oder in der datei selbst?
            Falls dein Parser BB-Code versteht, kannst du auch da mal welche verwenden. Aber ich würde mal vorschlagen du beschränkst dich auf deinen Eintrag hier im Forum.

            wenn in der datei selbst, dann kann ich nichts dafür, der lehrer will das so haben....
            Ah, wir dürfen mal wieder Hausaufgaben machen.

            Kommentar


            • #7
              ja ne, ist klar. Die anderen User schaffen das alle...
              tja... kann passieren... ich bin kein php-profi... weiss nicht warum das so ist wie es ist... wir sollen die aufgabe machen, also mach ich sie...

              Ah, wir dürfen mal wieder Hausaufgaben machen.
              nein sollt ihr nicht, ich wollte nur einen tipp und nicht die komplette datei... sonst hät ich auch zu myhammer.de gehen und es mir dort erstellen lassen können

              Kommentar


              • #8
                OffTopic:
                Sorry, ich kann den Code nicht lesen, weil er meinen Wide-Screen sprengt. Daher kann ich auch keinen Tipp geben.

                Kommentar


                • #9
                  sorry, aber welche auflösung fährst du bitte? ich seh keine scrollbalken... dabei hab ich hier nen laptop....

                  ich kann den code gerne auf 640*480 anpassen....

                  Kommentar


                  • #10
                    ich hab auch einen. mit 1280 px breite.

                    Kommentar


                    • #11
                      passts jetzt?

                      btw: hab jetzt nen paar antworten von dir gesehen in denen du geschrieben hast, dass das bei dir ned aufn bildschirm passt.... wieso schreibst du, in deine sowieso schon überfüllte sig, nicht noch deine auflösung rein? damit auch jeder weiss wie er seinen umbruch zu machen hat...

                      Kommentar


                      • #12
                        PHP-Code:
                              $datum date;
                              
                        $SQL "INSERT INTO ANWESENHEIT (KLASSENID, SCHUELERID, ANWESEND, MINUTEN, DATUM)
                                      VALUES (
                        $klassenid, '".$_REQUEST['id']."', '".$_REQUEST['auswahl']."',
                                                  '"
                        .$_REQUEST['minuten']."', $date)"
                        Was genau möchtest du in $datum zwischenspeicher? Zurzeit würde da einfach date als String drinne stehen und nicht das gewünschte Datum, in welchem Format auch immer du das gerne hättest...
                        Von welchem Typ ist das Datenbankfeld DATUM?

                        Kommentar


                        • #13
                          Also ich dachte der würde das aktuelle datum nehmen...


                          das hier ist die tabelle wo die daten eingetragen werden sollen:

                          Code:
                          mysql> desc anwesenheit;
                          +------------+---------+------+-----+------------+----------------+
                          | Field      | Type    | Null | Key | Default    | Extra          |
                          +------------+---------+------+-----+------------+----------------+
                          | id         | int(11) |      | PRI | NULL       | auto_increment |
                          | klassenid  | int(11) |      |     | 0          |                |
                          | schuelerid | int(11) |      |     | 0          |                |
                          | minuten    | int(11) | YES  |     | NULL       |                |
                          | datum      | date    |      |     | 0000-00-00 |                |
                          | anwesend   | int(11) | YES  |     | NULL       |                |
                          +------------+---------+------+-----+------------+----------------+
                          6 rows in set (0.00 sec)

                          Kommentar


                          • #14
                            Dann ersetz mal $datum im SQL Statement durch NOW() - dann sollte es gehen.

                            Kommentar


                            • #15
                              hab das jetzt gemacht, aber eintragen tut er immer noch nichts...

                              kann ich irgendwie die html-felder ansprechen?
                              weil dann würd ich versuchen die ganzen variablen zu sammeln und einen sql befehl zusammen zu basteln den ich dann einfach übergebe ... diesen würde ich dann wiederrum in die insert anweisung anfügen...

                              was meint ihr?

                              Kommentar

                              Lädt...
                              X