Я создаю онлайн-оценку. Я отображаю все вопросы в случайном порядке только на одной странице. У меня возникли затруднения с тем, как проверить правильный ответ в базе данных для проверенного переключателя. Я не знаю, что делать, и логика, как это сделать.
Это мои php коды для отображения вопросов в случайном порядке,
$view_questions=mysql_query("SELECT * FROM questions ORDER BY RAND()");
Это мои HTML-коды с PHP-кодами,
<form name="" method="POST">
</br><h4># of Questions</h4>
<?php
$i=1;
while($row=mysql_fetch_array($view_questions))
{
?>
<div class="view_question fsize">
<p align="justify"><?php echo $i;?>) <?php echo $row['QUESTION'];?></p>
<div class="indent-question">
<input type="radio" value="1" id="" name="radio[<?php echo $row['QUESTION_NO'];?>]"> <?php echo $row['ANSWER_1'];?>
</br>
<input type="radio" value="2" id="" name="radio[<?php echo $row['QUESTION_NO'];?>]"> <?php echo $row['ANSWER_2'];?>
</br>
<input type="radio" value="3" id="" name="radio[<?php echo $row['QUESTION_NO'];?>]"> <?php echo $row['ANSWER_3'];?>
</br>
<input type="radio" value="4" id="" name="radio[<?php echo $row['QUESTION_NO'];?>]"> <?php echo $row['ANSWER_4'];?>
</div>
</div>
<?php
$i++;
}
?>
<center><button id='next<?php echo $i;?>' class='next btn btn-success' name="finish" type='submit'>Finish</button></center>
</form>
Название таблицы: вопросы
Поля таблицы: QUESTION_NO, QUESTION, ANSWER_1, ANSWER_2, ANSWER_3, ANSWER_4, ANSWER
Это очень просто
Сохраните Id ваших вопросов в значении в переключателе и установите флажки только для тех значений, которые отмечены, сравните ваш код после отправки формы на следующей странице, я надеюсь, вы поймете, что я пытаюсь сказать
Вы должны иметь структуру базы данных, как это ..
Table 1: Questions
Fields: que_id, question
Table 2: Answers
Fields: ans_id, que_id, answer, correct_ans, points
Table 3: Results
Fields: que_id, ans_id
Когда вы добавляете вопрос, вопрос и que_id будут храниться в базе данных. Затем вы добавите несколько возможных ответов, которые хранятся в таблице ответов со ссылкой на que_id.
Вам нужно изменить запрос для графического интерфейса, чтобы получить вопрос и ответ из другой таблицы, используя соединение.
Так что GUI будет таким …
<form name="" method="POST">
</br><h4># of Questions</h4>
<?php
$i=1;
while($row=mysql_fetch_array($view_questions))
{
?>
<div class="view_question fsize">
<p align="justify"><?php echo $i;?>) <?php echo $row['QUESTION'];?></p>
<div class="indent-question">
<input type="radio" value="<?php echo $row['ans_id']; ?>" id="" name="radio[<?php echo $row['QUESTION_NO'];?>]"> <?php echo $row['ANSWER_1'];?>
</br>
<input type="radio" value="<?php echo $row['ans_id']; ?>" id="" name="radio[<?php echo $row['QUESTION_NO'];?>]"> <?php echo $row['ANSWER_2'];?>
</br>
<input type="radio" value="<?php echo $row['ans_id']; ?>" id="" name="radio[<?php echo $row['QUESTION_NO'];?>]"> <?php echo $row['ANSWER_3'];?>
</br>
<input type="radio" value="<?php echo $row['ans_id']; ?>" id="" name="radio[<?php echo $row['QUESTION_NO'];?>]"> <?php echo $row['ANSWER_4'];?>
</div>
</div>
<?php
$i++;
}
?>
<center><button id='next<?php echo $i;?>' class='next btn btn-success' name="finish" type='submit'>Finish</button></center>
</form>
После этого, когда пользователь выберет ответ, ans_id будет сохранен вместе с que_id в таблице результатов, оттуда вы сможете управлять всей информацией и сравнением.
установите значение Responquestions в значение для переключателя
<input type="radio" value="ANSWER1" name="name">
<input type="radio" value="ANSWER2" name="name">
в коде php
проверьте значение, введенное с правильным ответом
получить правильный ответ из БД и сохранить его в var
$query "SELECT correct_answer FROM TABEL_NAME";
и получить запрос в var correct_a, например
$user_answer = $_POST['name'];
if($user_answer == $correct_a)
return true
else
return false