I am building a quiz app, in which the student can login and can select the option of give exam. I want to show multiple choice questions to students randomly.
I stored all the questions in one table. For example, I stored 20 questions for a chemistry exam. Now I want to show 10 random questions to students. I don't want to select questions randomly every time when user refresh the page. Currently I am doing:
SELECT * from table-name order by rand() limit 5;
The problem is this query selects random rows every time the user refreshes the page. This is my code:
<?php
$query="SELECT * from question_bank order by rand() limit 10";
$result= mysqli_query($connection,$query);
confirm_query($result);
?>
<form action="result.php" name="form1" method="post" id="quiz">
<?php
while ($read_all_data = mysqli_fetch_assoc($result))
{
$_SESSION['id']=1;
$id=$read_all_data['question_id'];
$a=$read_all_data['a'];
$b=$read_all_data['b'];
$c=$read_all_data['c'];
$d=$read_all_data['d'];
echo $read_all_data['question']."</br>";
echo "A:<input type ='radio' value ='a' name='$id' >".$read_all_data['a']."</br>";
echo "B:<input type ='radio' value ='b' name='$id' >".$read_all_data['b']."</br>";
echo "C:<input type ='radio' value ='c' name='$id' >".$read_all_data['c']."</br>";
echo "D:<input type ='radio' value ='d' name='$id' >".$read_all_data['d']."</br>";
}
X
versions of the exam where the questions are pre-scrambled, and give each person one of pre-scrambled versions? This is basically what they did/do with paper multiple choice tests to prevent cheating. – Erik Oct 8 '15 at 19:49