我会尽力使它尽可能详细,因为ive之前已被标记下来。在codeigniter框架之外,有一个选择测验文件,然后将您带到5个测验中的1个。下面是计算测验(除了问题和答案之外,其他每项都是相同的)。以下文件存储在视图文件夹中。播放测验文件用于显示所有问题和答案。它从名为multi_login的数据库和称为测验的表中获取问题和答案。当用户选择答案并单击提交后,它将运行下面放置的下一个代码ive。它使用数组检查答案是否正确,如果正确,则将背景色设置为绿色,并将得分加1。然后,总分数显示在测验的底部,以显示用户分数。我已经使用页面底部的模型文件夹文件来选择我要“测验”的表。我希望能够在用户完成测验后将分数的编号存储在名为report的表中,并将其存储在名为score的列中。请帮助,我正在为我的数据库等使用phpmyadmin。我希望这足够详细,即使不仅仅是评论。
播放测验代码(以供说明):
<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();
}
}
}