Je construis un site Web où les gens peuvent passer des commandes et c'est la première fois que je dois insérer plusieurs lignes à la fois et je suis perdu. Je sais que j'ai besoin d'une boucle FOR pour effectuer cela, mais je suis perdu quant à la façon de construire la boucle. J'utilise PHP, MySQL (évidemment) avec jQuery. J'utilise le jQuery pour .append() une nouvelle boîte de sélection dans le formulaire pour permettre au client de choisir un autre élément.Insérer plusieurs lignes avec PHP et MySQL
Voici comment je construis habituellement mon code pour permettre aux utilisateurs d'insérer dans la base de données. Ma question est de savoir comment et où j'insérerais une boucle de telle sorte que plusieurs lignes puissent être soumises en une fois sans avoir à les insérer une par une. Tout serait utile, merci.
<?php
if (isset($_POST['submit'])) {
if (!$_POST['col1'] | !$_POST['col2'] | !$_POST['col3']) { die ("error"); }
if (!get_magic_quotes_gpc()) {
$_POST['col1'] = addslashes ($_POST['col1']);
$_POST['col2'] = addslashes ($_POST['col2']);
$_POST['col3'] = addslashes ($_POST['col3']);
}
$insert = "insert into table (col1, col2, col3) values ('".$_POST['col1']."', '".$_POST['col2']."', '".$_POST['col3']."')";
mysql_query ($insert);
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<table>
<tr>
<td><input type="text" name="col1"></td>
<td><input type="text" name="col2"></td>
<td><input type="text" name="col3"></td>
//I'm using jQuery .append() to insert more text boxes with names (col1, col2, col3) here
</tr>
</table>
<input type="submit" name="submit" value="Submit">
</form>
<?php
}
?>
Ma confusion est l'endroit où placer la boucle ... Je sais que ce doit être une boucle FOR, mais je ne pourrais jamais obtenir un à travailler. Merci encore pour toute aide.
Assurez-vous de vérifier les vulnérabilités d'injection SQL trop .. –
Je me demande, vous remarquez une section «connexes» de cette page, pleine de questions similaires posées par des centaines d'autres personnes plus tôt? –