mehrfach INSERT in Datenbank

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

  • mehrfach INSERT in Datenbank

    Hallo,

    habe ein kleines Problem. Will mehrere Daten gleichzeitig in eine Tabelle eintragen. Mir ist schon klar, dass das mit einem INSERT-Befehl geht...
    Die Daten kommen aus einem Formular was aber auch Variablen enthält.
    PHP-Code:
    <?php if(!isset($_POST['submit'])) { ?>
    <form action="<?php $PHP_SELF ?>" method="POST">
    <table>
    <?
        $sql = "SELECT * FROM VOTE";
        $ergebnis = mysql_query($sql, $connect);
        if($ergebnis)
        {
          while($zeile=mysql_fetch_row($ergebnis))
          {
            echo "<tr><td><table>";
            echo "<tr>";
            echo   "<td>Nick:</td><td>".$zeile[1]."</td></tr><tr><td>Name</td><td>".$zeile[2]."
    </td></tr><tr><td>Marke</td><td>
    <input type='hidden' name='Marke$zeile[0]' value='$zeile[4]'>".$zeile[4]."</td></tr><tr><td>Typ</td><td>".$zeile[3]."
    </td></tr><tr></tr></table></td>";
            echo "<td><img src='bilder/$zeile[1].jpg'>&nbsp;</td><td><b>Punkte</b><br><input type='Text' 
    name='Punkte$zeile[0]' value='' size='3' maxlength=''></td>";
            echo "</tr>\n";
            echo "<tr><td colspan='3'><hr noshade size='1'></td></tr>";
          }
          mysql_free_result($ergebnis);
        }
        else echo "Abfrage $sql konnte nicht ausgef&uuml;hrt werden<br>\n";
    ?>
    </table>
    <input type="submit" name="submit" value="Abstimmen" class="button">&nbsp;&nbsp;<input type="reset">
    </div>
    Das ist das Formular. Und die Daten die da eingegeben werden will ich nun in die Datenbank schreiben. Aber hat jemand ne Idee wie???
    Zuletzt geändert von hillstar; 09.03.2007, 11:02.

  • #2
    Code umbrechen, sonst wirste geköpft und es ließt sich keiner deinen Cpode durch ..
    Liebe Grüße,
    SteKoe!

    PHP Tutorials
    Peter Kropff | Quakenet | Schattenbaum.net

    Kommentar


    • #3
      Du solltest als Feldnamen Arrays verwenden
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4

        was willst? du hast die daten schon in der db und willst sie nochmal reinschreiben?

        btw: code umbrechen

        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          meinst du nicht, dass du nach UPDATE suchst? ich mein okay man kann quasi expotential die tabelle füllen aber macht das auch sinn?
          tutorial: peterkropff.de schattenbaum.de tut.php-quake.net
          documentation: php.net mysql.com framework.zend.com

          Die Nachtwache!

          Kommentar


          • #6
            Die Daten stehen in EINER Tabelle und werden da abgefragt...
            Dann gibt man seine Bewertung ab, diese wird dann in eine ANDERE Tabelle geschrieben....
            Drum brauche ich da dann einen merfach INSERT... Denke ich zumindest....

            Kommentar


            • #7
              Original geschrieben von hillstar
              Die Daten stehen in EINER Tabelle und werden da abgefragt...
              Dann gibt man seine Bewertung ab, diese wird dann in eine ANDERE Tabelle geschrieben....
              Man be8e das Fettgedruckte. Wenn du in "eine" Relation schreiben willst, wozu brauchst du dann einen "mehr"fach-insert?
              Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

              Kommentar


              • #8
                ein Datensatz besteht aus folgenden Dingen:

                ID
                USER
                NAME
                MARKE

                Dem User sollen Punkte gegeben werden, ABER eben ALLEN Usern auf einmal. Darum rufe ich erst mal alle Daten dieser Tabelle ab und schreibe sie in ein Formular. Im Formular gibt es dann Punkte die man eingeben kann. Durch den Login des Users der seine Bewertung abgibt wird später verhindert das er nochmal bewertet.
                Diese Bewertung für jeden User soll dann in eine andere Tabelle geschrieben werden, mit dem Aufbau:

                ID
                USER_ID
                VOTE_ID
                PUNKTE

                Da aber JEDER User alle anderen auf einmal beweren soll (Punkte von 1 bis 20 z.B.), sollten die Daten dann eben alle gleichzeitig in die zweite Tabelle geschrieben werden.

                Kommentar


                • #9
                  PHP-Code:
                  <input type='Text' name='Punkte$zeile[0]' value='' size='3' maxlength=''
                  der hinweis kam schon, hier ein array entstehen zu lassen, und auf der folgeseite zu durchlaufen und die inserts zu machen.... fertich
                  **********
                  arkos
                  **********

                  Kommentar


                  • #10
                    kleiner Tip wie das geht? bin nicht sooo versiert mit PHP

                    Kommentar


                    • #11
                      z.b.
                      for dem while einen counter definieren

                      $count = 0;

                      dann die name-tags zum array umschreiben:

                      name="Punkte[$count]
                      (für alle formularfelder entsprechend)

                      nach dem letzten form-tag counter ein hoch

                      $count++

                      auf der folgeseite mit z.b. while oder foreach wieder auslesen...

                      den rest probier mal selbst
                      **********
                      arkos
                      **********

                      Kommentar

                      Lädt...
                      X