我有这个数据库设置:
除此代码外,
if($result = $db->query("SELECT * FROM questions")){
if($count = $result->num_rows){
while($row = $result->fetch_object()){
echo $row->question, '<br><br>';
echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->ans1 . '</label><br/>';
echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->ans2 . '</label><br/>';
echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->ans3 . '</label><br/>';
echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->ans4 . '</label><br/>';
echo '<input type="radio" name="q'.$row->id.'" value="a" id="q1a"><label for="q1a">' . $row->correct_ans . '</label><br/><br/>';
}
$result->free();
}
}
这给出了这个输出:
我想知道,我如何检查用户是否回答了存储在数据库中的正确答案?
我认为最好做一个if语句并检查是否没有选择正确的答案。我只是不确定如何执行此操作,如果有人能指出我正确的方向,那将会有很大的帮助。
答案 0 :(得分:0)
只需给出正确答案不同的值,然后编写一个检查问题的while循环。
类似的东西(假设每个问题都有q
和后面的数字):
$count = 1;
$right_answers = 0;
while ($count <= 5) {
if ($_POST['q'.$count] == "right") {
$right_answers++;
}
$count++;
}
$right_answers
是正确答案的计数。
答案 1 :(得分:-2)
对所有单选按钮使用相同的名称,但值应该不同。单击单选按钮,您将获得一个匹配值以进行检查。