Я постараюсь сделать это как можно более подробным, потому что я был отмечен ранее.За рамками codeigniter есть файл выбора викторины, после чего вы получите 1 из 5 тестов.Ниже приведена компьютерная викторина (все они одинаковы, кроме вопросов и ответов).Файлы ниже хранятся в папке просмотра.Файл Play Quiz используется для отображения всех вопросов и ответов.Он получает вопросы и ответы из базы данных с именем multi_login и из таблицы, называемой викторина.Когда пользователь выберет ответы и нажмет кнопку «Отправить», он запустит следующий блок кода, который был приведен ниже.Он использует массивы, чтобы проверить, является ли ответ правильным или неправильным; если он верный, то устанавливает зеленый цвет фона и добавляет 1 к баллу.Общая оценка затем отображается в нижней части теста, чтобы показать оценку пользователей.Я уже использовал файл модели папок внизу страницы, чтобы выбрать таблицу, которую я хочу "викторина".Я хочу иметь возможность сохранить номер счета после того, как пользователь завершил тестирование, чтобы сохранить его в таблице с именем report в столбце с именем Score.Пожалуйста, помогите, я использую phpmyadmin для своей базы данных и т.д. Я надеюсь, что это достаточно подробно, если не просто комментарий.
Код Play Quiz (для пояснения):
<h1>Play the Computing Quiz!</h1>
<form method="post" action="<?php echo base_url();?>index.php/Questions/resultdisplay">
<?php foreach($questions as $row) { ?>
<?php $ans_array = array($row->choice1, $row->choice2, $row->choice3, $row->answer);
shuffle($ans_array); ?>
<p><?=$row->question?></p>
<input type="radio" name="quizid<?=$row->quizID?>" value="<?=$ans_array[0]?>" required> <?=$ans_array[0]?><br>
<input type="radio" name="quizid<?=$row->quizID?>" value="<?=$ans_array[1]?>"> <?=$ans_array[1]?><br>
<input type="radio" name="quizid<?=$row->quizID?>" value="<?=$ans_array[2]?>"> <?=$ans_array[2]?><br>
<input type="radio" name="quizid<?=$row->quizID?>" value="<?=$ans_array[3]?>"> <?=$ans_array[3]?><br>
<?php } ?>
<br><br>
<input type="submit" value="Submit!">
</form>
После нажатия кнопки отправки пользователь отправит на эту страницу:
<h1>Play the Computing Quiz!</h1>
<?php $score =0; ?>
<?php $array1= array(); ?>
<?php $array2= array(); ?>
<?php $array3= array(); ?>
<?php $array4= array(); ?>
<?php $array5= array(); ?>
<?php $array6= array(); ?>
<?php $array7= array(); ?>
<?php $array8= array(); ?>
<?php foreach($checks as $checkans) { ?>
<?php array_push($array1, $checkans); } ?>
<?php foreach($results as $res) { ?>
<?php array_push($array2, $res->answer);
array_push($array3, $res->quizID);
array_push($array4, $res->question);
array_push($array5, $res->choice1);
array_push($array6, $res->choice2);
array_push($array7, $res->choice3);
array_push($array8, $res->answer);
} ?>
<?php
for ($x=0; $x <10; $x++) { ?>
<form method="post" action="<?php echo base_url();?>index.php/welcome/index">
<p><?=$array4[$x]?></p>
<?php if ($array2[$x]!=$array1[$x]) { ?>
<p><span style="background-color: #FF9C9E"><?=$array1[$x]?></span></p>
<p><span style="background-color: #ADFFB4"><?=$array2[$x]?></span></p>
<?php } else { ?>
<p><span style="background-color: #ADFFB4"><?=$array1[$x]?></span></p>
<?php $score = $score + 1; ?>
<?php } } ?>
<br><br>
<p><b>Your Score: </b></p>
<p><b><?=$score?>/10</b></p>
<input type="submit" value="Play Again!">
</form>
Файл модели:
class quizmodel extends CI_Model {
public function getQuestions()
{
$this->db->select("quizID, question, choice1, choice2, choice3, answer, subject");
$this->db->from("quiz");
$this->db->where("subject",'computing');
$query = $this->db->get();
return $query->result();
$num_data_returned = $query->num_rows;
if ($num_data_returned < 1) {
echo "There is no data in the database";
exit();
}
}
}
Выбор викторины
После выбора вычислительной викторины
викторины 1
изображение викторины 2
после нажатия кнопки Отправить