Я создаю онлайн-оценку. Я отображаю все вопросы случайным образом только на одной странице. У меня есть трудность в том, как проверить правильный ответ в базе данных для отмеченного переключателя. Я не знаю, что делать, и логики о том, как это сделать.
Это мои 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>
в<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, ВОПРОС, ANSWER_1, ANSWER_2, ANSWER_3, ANSWER_4, ОТВЕТ
Это очень просто
введите в поле «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 будут сохранены в базе данных n. Затем вы добавите несколько возможных ответов, которые хранятся в таблице «Ответы» со ссылкой на que_id ..
Вам нужно изменить запрос для GUI, чтобы получить вопрос и ответ из другой таблицы, используя join. Итак, 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>
в<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 в таблице результатов, оттуда вы сможете управлять всей информацией и сравнением.
set Answerquestions для значения для переключателя
<input type="radio" value="ANSWER1" name="name"> <input type="radio" value="ANSWER2" name="name">
в php-коде проверьте значение, отправленное с правильным ответом
получить правильный ответ от db и сохранить его в 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