Bonjour,
Je travaille sur un questionnaire en ligne et j ai
un probleme simple :
Sur la page précédente un utilisateur a renseigné un champ contenant le nombre
de questions que celui-ci désire insérer dans son questionnaire. La page créer
dynamiquement le nombre de champ texte et radio désires :
voici le code de cette création :
<form name="form1" method="post" action="<?php echo $editFormAction; ?>">
<table width=\"200\" border=\"0\">
<?php
while ($row_Recordset1['nb_questio'] > 0)
{
$counter = $row_Recordset1['nb_questio'];
$counter1 = $row_Recordset1['nb_questio'];
echo '';
echo '
';
echo $counter.'question' ;
$row_Recordset1['nb_questio']--;
}
?>
</form>
Jusque la tout va bien ça marche.
Par contre je souhaiterai que les enregistrement crées s'insèrent tous à la
suite dans ma table en envoyant le formulaire :
pour l'instant seul le dernier enregistrement est inséré :
Voici le code dinsertion : (je précise que la connexion à la base est déjà
effectuer via un include en début de fichier)
<?php
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
while ($row_Recordset1['nb_questio'] > 0){
$counter = $row_Recordset1['nb_questio'];
$counter1 = $row_Recordset1['nb_questio'];
$insertSQL = sprintf("INSERT INTO questions (id_questionnaire,
id_theme, id_soustheme, question, inverse) VALUES (%s, %s, %s, %s, %s)",
GetSQLValueString($_POST['id_questionnaire'], "int"),
GetSQLValueString($_POST['id_theme'], "int"),
GetSQLValueString($_POST['id_soustheme'], "int"),
GetSQLValueString($_POST['$counter'], "text"),
GetSQLValueString(isset($_POST['$counter1']) ? "true" : "",
"defined","1","0"));
mysql_select_db($database_aa, $aa);
$Result1 = mysql_query($insertSQL, $aa) or die(mysql_error());
$row_Recordset1['nb_questio']--;
}
?>
je ne comprend pas pourquoi seul le dernier enregistrement est inseré,
merci d'avance
Afficher la suite