我开发了一个简单的测验系统,允许用户从数据库中生成随机问题。我曾使用数组shuffle来做随机问题。我的问题是每次提交表单时,数组都会随机播放。现在我想要的是我想在提交表格时停止洗牌。
<?php
$ques_ar = array();
$ques = mysql_query("Select * from quiz");
while($row = mysql_fetch_array($ques))
{
$ques_ar[] = $row;
}
shuffle($ques_ar);
echo '<form method="post">';
for ($i=0; $i<sizeof($ques_ar); $i++)
{
echo ".$ques_ar[$i]['question']."?<br>";
$a=array($ques_ar[$i]['answer'],$ques_ar[$i]['dummy_ans1'], $ques_ar[$i]['dummy_ans2'], $ques_ar[$i]['dummy_ans3']);
shuffle($a);
foreach($a as $ram => $value)
{
$alp = array("A","B","C","D");
echo "<input type='radio' name='".$i."' value='".$value."'>".$alp[$ram]." (".$value.")<br>";
}
if(isset($_POST[$i]))
{
if($_POST[$i] == $ques_ar[$i]['answer'])
{
echo "Correct !<br>";
$score = 1;
}else{
echo "Wrong ! <br>";
$score = 0;
}
}
$total +=$score;
}
echo "<input type='submit' name='sub_ans'>";
echo '</form>';
echo "Score => ".$total." / ".sizeof($ques_ar);
?>