在下一页保留相同的单选按钮数据

时间:2016-01-05 11:35:02

标签: php mysql

我的主要目标是从数据库中提出20个问题,供用户进行并纠正。我正在使用MySQL查询随机获取20个问题并将其显示在页面上。这是代码

<?php

$sql = "SELECT `quiz_id`,`content`,`a`,`b`,`c`,`d` FROM quizzes ORDER BY rand() limit 20";   
$result = mysql_query($sql) or trigger_error(mysql_error().$sql);

echo '<form action="result.html" method="post"><div>';
$t = 0;
while($data = mysql_fetch_array($result,MYSQL_NUM)){
$t++;    
echo <<< EOF
<table>
<tr>

    <td>$t. $data[1]</td>
        </tr>
<tr><td><input type="radio" name="option$data[0]" value="a">$data[2]</td></tr>
<tr><td><input type="radio" name="option$data[0]" value="b">$data[3]</td></tr>
<tr><td><input type="radio" name="option$data[0]" value="c">$data[4]</td></tr>
<tr><td><input type="radio" name="option$data[0]" value="d">$data[5]</td></tr>

</table>
EOF;
}

    echo '<input type="submit" value="Submit" /></div></form>';
?> 

现在我实现了result.php页面,该页面将再次显示从第一页开始随机编辑的所有问题,并在其旁边显示结果。我仍然坚持重新展示问题部分。任何帮助都会非常感激

2 个答案:

答案 0 :(得分:0)

您必须在问题页面的基础上构建checkboxes,在question.id输入中name,然后在会话'question_id'=>'answer yes|no'值数组中提交保存,稍后加载{{ 1}}从会话中获取所有输入result.php对数组并根据问题ID从db中选择所有问题并在其前面显示(如果已选中或不基于'question_id'=>'answer yes|no'

答案 1 :(得分:0)

创建一个隐藏字段,其中包含您在页面上显示的问题的逗号分隔ID。在result.php上,展开从上一页发布的隐藏字段并循环显示它以获得正确的答案。

<form action="result.html" method="post"><div>
<?php 
while($data = mysql_fetch_array($result,MYSQL_NUM)){

     $questions .= $data[0] . ','; // assume you have id in $data[0]
     // rest of your code
}
?>
<input name= 'question_ids' type='hidden' value= <?php echo $questions ?> />

</form>

<强> result.php

$questions = explode(',' , $_POST['question_ids']);
foreach($questions as $question)
{
    // your logic here for getting right answer
}