Могу ли я объединить эти два цикла с одним? Значения не вставлены правильно?

Это для сгенерированной формы опроса, я хочу вставить значения в моей базе данных, однако у меня возникла проблема с вставкой значений, здесь 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')

Теперь я снова в замешательстве, потому что он больше не принимает значения переключателей, а только текстовую область, чтобы кто-нибудь мог знать, как решить эту новую проблему?

1

Решение

Вы не можете объединиться в один, если два цикла имеют разные циклы. Вы должны сделать внутренний и внешний цикл и выполнить оператор слияния во внутреннем цикле.

1

Другие решения

    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);
}
}
}
0

По вопросам рекламы [email protected]