我在while循环中有代码,最终回显出30个问题。由于它使用相同的代码进行迭代,只是变量值不同,因此我无法跟踪使用_POST的标记。
反正我是否可以存储用户在使用while循环时选择的所有答案?
代码:
while (counter !=0) {
echo '
<form method="post">
<input type="radio" id="answerA" name= "answerA " value="answerA" required>
<label for="answerA"> ' . $row['answerA'] . ' </label><br>
<input type="radio" id="answerB" name="answerB" value="answerB">
<label for="answerB"> ' . $row['answerB'] . ' </label><br>
<input type="radio" id="answerC" name="answerC" value="answerC">
<label for="answerC"> ' . $row['answerC'] . ' </label><br>
<input type="radio" id="answerD" name="answerD" value="answerD">
<label for="answerD"> ' . $row['answerD'] . ' </label><br>
</form>
'
;
}
将行ID放在隐藏的输入中。您可以使用$_POST['id']
知道答案是哪个问题。
while (counter !=0) {
echo '
<form method="post">
<input type="radio" id="answerA-' . $row['id'] . '" name= "answer-' . $row['id'] . '" value="answerA" required>
<label for="answerA-' . $row['id'] . '"> ' . $row['answerA'] . ' </label><br>
<input type="radio" id="answerB-' . $row['id'] . '" name="answer-' . $row['id'] . '" value="answerB">
<label for="answerB-' . $row['id'] . '"> ' . $row['answerB'] . ' </label><br>
<input type="radio" id="answerC-' . $row['id'] . '" name="answer-' . $row['id'] . '" value="answerC">
<label for="answerC-' . $row['id'] . '"> ' . $row['answerC'] . ' </label><br>
<input type="radio" id="answerD-' . $row['id'] . '" name="answer-' . $row['id'] . '" value="answerD">
<label for="answerD-' . $row['id'] . '"> ' . $row['answerD'] . ' </label><br>
<input type="hidden" name="id" value="' . $row['id'] . '">
</form>
'
;
}
还有其他问题。 ID必须是唯一的,因此您应该在每个答案的ID中包含问题ID。
无线电组中的所有名称必须相同,这是浏览器如何知道它们是同一问题的替代答案。但是每种形式都需要有不同的广播组。因此,您应该从单选按钮名称中删除A
,B
,C
和D
,但要添加问题ID。