我的主要目标是从数据库中提出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
页面,该页面将再次显示从第一页开始随机编辑的所有问题,并在其旁边显示结果。我仍然坚持重新展示问题部分。任何帮助都会非常感激
答案 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
}