I have a database table with the following fields and an example:
QuestionID
Question
AnswerA
AnswerB
AnswerC
AnswerD
CorrectAnswer
Example:
QuestionID: 1
Question: What is 2 + 2?
AnswerA: 1
AnswerB: 2
AnswerC: 3
AnswerD: 4
CorrectAnswer: 4
If my database has say 20 questions, how would I get it so that not only do the questions appear in a random order but the answers appear on different radio buttons (To prevent the user from memorizing the location of the correct answer). This is to be integrated into a Facebook app. Below is my SQL query:
$sql="SELECT DISTINCT Question, QuestionID, AnswerA, AnswerB, AnswerC, AnswerD FROM miniproj ORDER BY rand() LIMIT 1";
This is the while
statement I am using (I understand mysql_fetch_array
is deprecated but I can sort that another time):
while ($myrow = mysql_fetch_array($result))
{
$answers = array($myrow['AnswerA'], $myrow['AnswerB'], $myrow['AnswerC'], $myrow['AnswerD']);
shuffle($answers);
echo("<form action='question.php' method='POST'>\n");
echo("<h1>");
echo("Q: ");
echo($myrow['Question']);
echo("</h1>");
echo("<input type='radio' name='comments' value='A'>\n");
echo($myrow['AnswerA']);
echo("<p>");
echo("<input type='radio' name='comments' value='B'>\n");
echo($myrow['AnswerB']);
echo("<p>");
echo("<input type='radio' name='comments' value='C'>\n");
echo($myrow['AnswerC']);
echo("<p>");
echo("<input type='radio' name='comments' value='D'>\n");
echo($myrow['AnswerD']);
echo("<p>");
echo("<br />");
echo("<input type='submit' value='Submit'>\n");
echo("</form>\n");
}
Any tips would be great