Это для сгенерированной формы опроса, я хочу вставить значения в моей базе данных, однако у меня возникла проблема с вставкой значений, здесь textarea
значения не вставляются в базу данных. Значения переключателей да в переключателе столбца, но также и в столбце для комментариев. Могу ли я объединить эти две петли в одну? Может быть, это решит мою проблему? Как это сделать?
if (isset($_POST["bouton11"])) {
while(isset($_POST[$un])){
$choix = $_POST["$un"];
$enregistrer = "INSERT INTO questionnaire(Choix) VALUES('$choix') ";
$un++;
$i++;
echo"$enregistrer";
mysqli_query($link, $enregistrer);
}
while(isset($_POST[$kv])) {
$comment = $_POST["$kv"];
$kv++;
$enregistrer2 = "INSERT INTO questionnaire(Commentara) VALUE('$comment')";
echo"$enregistrer2";
mysqli_query($link, $enregistrer2);
}
}
ОК, я отредактировал свой код здесь, и я тоже присоединюсь к коду формы опроса:
Вот форма
while ($row = mysqli_fetch_assoc($result)) {
$Ref =$row["Ref"];
$Question =$row["Question"];
$un++;
$kv++;
echo" <tr bgcolor=\"white\">
<td>$Question position: $un </td>
<td>
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"3\">
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"2\">
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"1\">
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"0\">
<input type=\"radio\" name =\"$un\" id =\"un\" value = \"PA\">
</td>
<td width = \"60\"> <textarea name =\"$kv\" id =\"un\" rows=\"5\" placeholder=\"PA si pas applicable\"></textarea> </td>
</tr></div>
</div>
";
}
Вот часть для вставки значений в БД
if (isset($_POST["bouton11"])) {
while((isset($_POST[$un]))||(isset($_POST[$kv]))){
if(isset($_POST[$un])){
$choix = $_POST["$un"];
$comment = $_POST["$kv"];
$kv++;
$un++;
$enregistrer = "INSERT INTO questionnaire(Choix,Commentara) VALUES('$choix','$comment') ";$i++;
echo"$enregistrer";
mysqli_query($link, $enregistrer);
}
Вот эхо:
INSERT INTO questionnaire(Choix,Commentara) VALUES('test','test')
INSERT INTO questionnaire(Choix,Commentara) VALUES('test','test')
INSERT INTO questionnaire(Choix,Commentara) VALUES('test','test')
INSERT INTO questionnaire(Choix,Commentara) VALUES('test','test')
Теперь я снова в замешательстве, потому что он больше не принимает значения переключателей, а только текстовую область, чтобы кто-нибудь мог знать, как решить эту новую проблему?
Вы не можете объединиться в один, если два цикла имеют разные циклы. Вы должны сделать внутренний и внешний цикл и выполнить оператор слияния во внутреннем цикле.
if (isset($_POST["bouton11"])) {
while((isset($_POST[$un]))||(isset($_POST[$kv]))){
if(isset($_POST[$un])
{ $choix = $_POST["$un"];$enregistrer = "INSERT INTO questionnaire(Choix) VALUES('$choix') ";
$un++;
$i++;
echo"$enregistrer";
mysqli_query($link, $enregistrer);
}
else if(isset($_POST[$kv]))
{
$comment = $_POST["$kv"];
$kv++;
$enregistrer2 = "INSERT INTO questionnaire(Commentara) VALUE('$comment')";
echo"$enregistrer2";
mysqli_query($link, $enregistrer2);
}
}
}