Moin alle zusammen, ich habe ein Problem und hoffe das mir jemand helfen kann. Und zwar will ich das mann mehrere Daten gleichzeitig eintragen kann. Ich hab das so gemacht das in dem Formular die Felder mit einer for-Schleife dargestellt werden und mit der jeweilige Nummer benannt werden. In PHP hab ich das jetzt so, das der prüft wie viele Daten abgeschickt wurden und dann so oft die Query ausführt bis die anzahl erreicht ist. Das eintrage und alles klappt auch schon, jedoch trägt er nicht immer alles ein. Wenn ich alle Felder ausfülle fehlt meistens das 1. und das letzte Feld in der Tabelle. Hat jemand eine Idee woran das liegt?
Der PHP-Code:
<?php
$anzahl = count($_POST);
for($a = 1; $a <= $anzahl; $a++){
$query = sprintf(
"INSERT INTO `rollen`(`stueck`, `rolle`, `vorname`, `nachname`, `zusatz`)
VALUES ('%s', '%s', '%s', '%s', '%s')",
$mysqli->real_escape_string($_POST['stueck']),
$mysqli->real_escape_string($_POST['rolle'][$a]),
$mysqli->real_escape_string($_POST['vorname'][$a]),
$mysqli->real_escape_string($_POST['nachname'][$a]),
$mysqli->real_escape_string($_POST['zusatz'][$a])
);
$mysqli->query($query);
}
?>
Der Formular-Code
<?php for($i = 1; $i <= 6; $i++): ?>
<tr>
<td><input type="text" name="nr" hidden value="<?php echo $i; ?>"><?php echo $i; ?></td>
<td><input type="text" name="rolle[<?php echo $i; ?>]" list="aufgabe"></td>
<td><input type="text" name="vorname[<?php echo $i; ?>]"></td>
<td><input type="text" name="nachname[<?php echo $i; ?>]"></td>
<td><input type="text" name="zusatz[<?php echo $i; ?>]"></td>
</tr>
<?php endfor; ?>