我有一个这种结构的数据库我有4个问题。我的工作是显示2个随机问题及其选项,当用户点击提交时,应检查correct_ans
并显示结果。
Qid | Question | A | B | C | D | Correct_ans
1 | Question | | | | |Correct Ans
2 | Question | | | | |Correct Ans
3 | Question | | | | |Correct Ans
4 | Question | | | | |Correct Ans
<?php
if(isset($_POST['test'])){
$x = $_POST["$id"];
echo $x;
}
?>
<html>
<head>
</head>
<body>
<?php
include("db-con.php");
$sql1 = "SELECT * from questions ORDER BY RAND() LIMIT 2";
$result1 = mysql_query($sql1,$con);
echo"<form method='post' action=''>";
while($row1 = mysql_fetch_assoc($result1))
{
$id = 'q' . $row1['quesid'];
$question = $row1['question'];
$solution = $row1['solution'];
$ans_array = array($row1['A'],$row1['X'],$row1['Y'],$row1['Z']);
$test = shuffle($ans_array);
// Generate Questions and Display Options
echo $question . '<br />';
echo "<input type='radio' value='$ans_array[0]' name=\"$id\" />" . $ans_array[0]. '<br />';
echo "<input type='radio' value='$ans_array[1]' name=\"$id\" />" . $ans_array[1] . '<br />';
echo "<input type='radio' value='$ans_array[2]' name=\"$id\" />" . $ans_array[2] . '<br />';
echo "<input type='radio' value='$ans_array[3]' name=\"$id\" />" . $ans_array[3] . '<br />';
}
echo"<input type='submit' name='test' Value='Submit' />";
echo"</form>";
?>
</body>
</html>
当我点击提交时,我无法获得问题ID而无法从数据库中检查。当我尝试访问$id
以检查所选答案时,我总是遇到索引错误。
如果我理解正确$id
不是全局变量,那就是我在提交表单后没有得到它的原因。我试图将$id
作为全局但同样的错误。
任何人都可以帮我找到这个解决方案。
谢谢&amp;问候 货车
答案 0 :(得分:1)
下面的代码是生成随机问题。这将选择随机问题。
function randomGen($min, $max, $quantity)
{
$numbers = range($min, $max);
shuffle($numbers);
return array_slice($numbers, 0, $quantity);
}
$a = (randomGen(1,4,3)); //generates 2 unique random numbers
for($i=1;$i<=2;$i++){
$q = $a[$i];
}
并且要检索ID,您必须添加隐藏字段
<input type="hidden" name="id" id="id" value="value of id whicch is generated by random number">
&#13;