par
Marc GD » 20 sept. 2005, 16:47
On dirait que la boucle for se termine avant d'avoir effectué la requete.
Ne faut-il pas intégre à la boucle justement l'exécution de la requete sinon, seul la derniere valeur de la boucle sera prise en compte?
moi, j'ai fais un truc du genre avec Dreamweaver
//nombre de lignes souhaitées. Récupéré depuis un formulaire juste avant
$nb_rec=$_POST['nombredelignes'];
//boucle pour l'insertion multiple dans la même table
for ($i = 0; $i < $nb_rec; $i++)
{
//là j'ai redéfini les noms des variables de formulaire où on a rentré les données à insérer.
$variable1="code".$i;
$variable2="nom".$i;
$variable3="pnom".$i;
//on n'enregistre que si variable2 (nom) n'est pas vide ou égale à 0 car dans mon cas, le code est une variable cachée incrémentée par mysql donc vide dans le formulaire
if (!empty($_POST[$variable2]))
{
$insertSQL = sprintf("INSERT INTO test (code, nom, pnom) VALUES (%s, %s, %s)",
GetSQLValueString($_POST[$variable1], "int"),
GetSQLValueString($_POST[$variable2], "text"),
GetSQLValueString($_POST[$variable3], "text"));
mysql_select_db($database_marccnx, $marccnx);
$Result1 = mysql_query($insertSQL, $marccnx) or die(mysql_error());
}
}
}
On dirait que la boucle for se termine avant d'avoir effectué la requete.
Ne faut-il pas intégre à la boucle justement l'exécution de la requete sinon, seul la derniere valeur de la boucle sera prise en compte?
moi, j'ai fais un truc du genre avec Dreamweaver
[php]//nombre de lignes souhaitées. Récupéré depuis un formulaire juste avant
$nb_rec=$_POST['nombredelignes'];
//boucle pour l'insertion multiple dans la même table
for ($i = 0; $i < $nb_rec; $i++)
{
//là j'ai redéfini les noms des variables de formulaire où on a rentré les données à insérer.
$variable1="code".$i;
$variable2="nom".$i;
$variable3="pnom".$i;
//on n'enregistre que si variable2 (nom) n'est pas vide ou égale à 0 car dans mon cas, le code est une variable cachée incrémentée par mysql donc vide dans le formulaire
if (!empty($_POST[$variable2]))
{
$insertSQL = sprintf("INSERT INTO test (code, nom, pnom) VALUES (%s, %s, %s)",
GetSQLValueString($_POST[$variable1], "int"),
GetSQLValueString($_POST[$variable2], "text"),
GetSQLValueString($_POST[$variable3], "text"));
mysql_select_db($database_marccnx, $marccnx);
$Result1 = mysql_query($insertSQL, $marccnx) or die(mysql_error());
}
}
}[/php]