Mehrere Datensätze gleichzeitig in die Datenbank

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

  • Mehrere Datensätze gleichzeitig in die Datenbank

    Hallo,

    ich stecke in einem Problem fest und habe weder hier im Board, noch im WWW einen Codeschnipsel gefunden.

    Es werden in einem Formular mittels for-Schleife z.B. 10 Zeilen mit 5 <input>-Feldern generiert:
    Code:
    $zeilen = 10;
     for($z = 0; $z < $zeilen; $z++){
    	  echo "
    	  <tr>
    		<td align=\"center\"><input name=\"vorname$z\" type=\"text\" id=\"vorname$z\" value=\"\" size=\"20\" /></td>
    		<td align=\"center\"><input name=\"nachname$z\" type=\"text\" id=\"nachname$z\" value=\"\" size=\"20\" /></td>
    		<td align=\"center\"><input name=\"strasse$z\" type=\"text\" id=\"strasse$z\" value=\"\" size=\"20\" /></td>
    		<td align=\"center\"><input name=\"plz$z\" type=\"text\" id=\"plz$z\" value=\"\" size=\"20\" /></td>
    		<td align=\"center\"><input name=\"ort$z\" type=\"text\" id=\"ort$z\" value=\"\" size=\"20\" /></td>
    	  </tr>
    }
    Diese Felder sollen in die DB eingetragen werden:
    Code:
    $sql = "insert into toys (vorname, nachname, strasse, plz, ort)
                          values ('$vorname','$nachname','$strasse','$plz','$ort')";
    Mit welcher Schleife und welchen Konstrukten kann man das Einlesen der Daten aus 10 Datensätzen in die DB verwirklichen?
    Sicherlich macht auch die Benuutzung von Arrays Sinn - aber hier endet mein Know-How.

    Ich würde mich sehr über Tipps und Lösungsvorschläge freuen.

  • #2
    Versuche das
    PHP Code:
    <?
    $zeilen = 10;
     for($z = 0; $z <= $zeilen; $z++){
          echo "<tr>
            <td align=\"center\"><input name=\"insert_ar[".$z."][vorname]\" type=\"text\" id=\"insert_ar[".$z."][vorname]\" value=\"\" size=\"20\"></td>
            <td align=\"center\"><input name=\"insert_ar[".$z."][nachname]\" type=\"text\" id=\"insert_ar[".$z."][nachname]\" value=\"\" size=\"20\"></td>
            <td align=\"center\"><input name=\"insert_ar[".$z."][strasse]\" type=\"text\" id=\"insert_ar[".$z."][strasse]\" value=\"\" size=\"20\"></td>
            <td align=\"center\"><input name=\"insert_ar[".$z."][plz]\" type=\"text\" id=\"insert_ar[".$z."][plz]\" value=\"\" size=\"20\"></td>
            <td align=\"center\"><input name=\"insert_ar[".$z."][ort]\" type=\"text\" id=\"insert_ar[".$z."][ort]\" value=\"\" size=\"20\"></td>
          </tr>";
    }
    ?>
    Eintragen:

    PHP Code:

    for($z 0$z <= $zeilen$z++){
          
    $sql "insert into toys (vorname, nachname, strasse, plz, ort)
                          values ('
    $insert_ar[".$z."][vorname]','$insert_ar[".$z."][nachname]','$insert_ar[".$z."][strasse]','$insert_ar[".$z."][plz]','$insert_ar[".$z."][ort]')";
    $result mysql_query($sql);


    Allerdings würd ich sagen, dass es nicht beste Lösung ist, Inserts in ner Schleife auszuführen

    Sorry, hatte die query vergessen
    Last edited by nofreak; 20-12-2005, 11:57.

    Comment


    • #3
      @nofreak: Wieso keine Schleife verwenden bzw. wie sollte es sonst gehen ?

      Gruß

      Le Cheffe

      Comment


      • #4
        Keine Ahnung, vielleicht gibts ja bessere wege via SQL, oder so...

        Comment


        • #5
          Moin,
          so würde ich es machen:
          PHP Code:
          $sql "insert into toys (vorname, nachname, strasse, plz, ort) VALUES";
          for(
          $z 0$z <= $zeilen$z++)
          {
            
          $sql .=" ('".$insert_ar[$z]["vorname"]."',"
                   
          "'".$insert_ar[$z]["nachname"]."',"
                   
          "'".$insert_ar[$z]["strasse"]."',"
                   
          "'".$insert_ar[$z]["plz"]."',"
                   
          "'".$insert_ar[$z]["ort"]."')";
          }

          if ( !
          ereg("(VALUES)$"$sql) )
          {
            
          $result mysql_query($sql);
            
          // ..

          Last edited by reallife; 20-12-2005, 10:11.

          Comment

          Working...
          X