PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrere Datensätze gleichzeitig in die Datenbank


MarcoCH
20.12.2005, 00:41:28
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:

$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:


$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.

meikel (†)
20.12.2005, 15:22:46
Im Prinzip so:

$zeilen = 10;
for($z = 0; $z < $zeilen; $z++)
{
$sql = sprintf("insert into toys (vorname, nachname, strasse, plz, ort)
values ('%s','%s','%s','%s','%s')",
mysql_escape_string($_POST['vorname' . $z]),
mysql_escape_string($_POST['nachname' . $z]),
mysql_escape_string($_POST['strasse' . $z]),
mysql_escape_string($_POST['plz' . $z]),
mysql_escape_string($_POST['ort' . $z]) );
# usw.
}

Folgendes noch:
beachtet werden muß noch, ob magic_quotes_gpc gesetzt ist.
Falls ja, mußt Du die Formularwerte so behandeln:

mysql_escape_string( stripslashes( $_POST['vorname' . $z]))

string mysql_escape_string ( string unescaped_string )
Diese Funktion maskiert unescaped_string zur sicheren Benutzung in mysql_query().