我正在尝试制作一个测验表格,显示问题和3个答案,这些答案来自我的数据库。当我运行循环时,它会使用单选按钮正确显示所有问题和答案选项但是当我点击问题1时回答“b”然后单击问题2回答“c”单选按钮取消单击问题1的答案“b”并突出问题2回答“c”;
Answering question 1 Trying to answer question 2 after answering question 1
1. What is your name? 1. What is you name?
()John ()John
(*)Jake ()Jake <--un-clicked
()Joe ()Joe
2. Where are you from? 2. Where are you from?
()San Antonio ()San Antonio
()Austin ()Austin
()New York (*)New York
如果您发现问题1,则在回答问题2时将删除答案。 这是我的代码,它从数据库中检索数据并显示它。
$mysql = "SELECT * FROM $table WHERE $table.quiz_name = '$name'";
$mydata = mysql_query($mysql,$con);
//post quiz name (here)
echo $name."</br>";
while($records = mysql_fetch_array($mydata)){
echo "<div>";
echo $records['question_description']."<br>";
//image displayed here
echo "<label><input type='radio' name='option' value=".$records['option_a'].">".$records['option_a']."</label><br>";
echo "<label><input type='radio' name='option' value=".$records['option_b'].">".$records['option_b']."</lable><br>";
echo "<label><input type='radio' name='option' value=".$records['option_c'].">".$records['option_c']."</label><br>";
echo "</ br> <hr>";
echo "</div>";
}
我希望有人可以帮我解决这个问题。
答案 0 :(得分:0)
您的单选按钮需要不同的名称。拥有相同名称的所有内容意味着您只能从每个收音机中选择一个。
您的单选按钮每个问题的名称应该不同。考虑使用像你的数据库ID这样的东西:
while($records = mysql_fetch_array($mydata)) {
echo $records['question_description']."<br>";
echo "<label><input type='radio' name='option" . $record['id'] . "' value=".$records['option_a'].">".$records['option_a']."</label><br>";
echo "<label><input type='radio' name='option" . $record['id'] . "' value=".$records['option_b'].">".$records['option_b']."</lable><br>";
echo "<label><input type='radio' name='option" . $record['id'] . "' value=".$records['option_c'].">".$records['option_c']."</label><br>";
}
答案 1 :(得分:0)
您正在使用&#39;选项对所有单选按钮进行分组&#39; ...执行此操作;
$counter = 0 //declare a counter outside the loop
并添加名称
name='option".$counter."'
并在循环内增加计数器
$counter++
这将为每组单选按钮提供一组