私はこのクイズアプリを使って、codeigniterフレームワークを使用していますが、正しい答えに対して選択した答えをチェックするのに問題があります。質問は、データベースから移入され、データベースは、以下の通りです:pHPのクイズで正解と選択された回答を確認
id | questions | opt1 | opt2 | opt3 | opt4 | correctAns
してください。この構造を与える最善の方法を私はクイズの最後に候補者を獲得するために、再び正しい答えを確認するために取得することができますし、また、彼らが正しいと間違っている質問を表示します。私Questions_modelに
public function displayQuestions()
{
$this->load->model('questions_model');
$classLevel = $this->input->post('class_level');
$subject = $this->input->post('subject');
$result = $this->questions_model->selectQuestions($classLevel, $subject);
if ($result == false) {
redirect('users/home');
}
$data['questions'] = $result;
// $this->load->view('layouts/header');
$this->load->view('users/questions', $data);
// $this->load->view('layouts/sidebar');
// $this->load->view('layouts/footer');
}
A selectQuestions():
public function selectQuestions($classLevel, $subject)
{
$query = $this->db
->where('class_level', $classLevel)
->where('subj_code', $subject)
->get('questions');
if ($query->num_rows() > 0) {
return $query->result();
}
return false;
}
そして、これは私の見解では、それを表示しています方法です: は、私は私の質問のコントローラでdisplayQuestionsを()持って
<div id="questions">
<?php
// declare counter
$i = 1;
// array to hold correct answer
$correctAns = [];
?>
<form method="POST" action="result/check">
<fieldset>
<legend>
<h2>Answer the following questions</h2>
</legend>
<ol class="question">
<?php foreach ($questions as $question): ?>
<?php if ($i <= 5): ?>
<li><?php echo $question->ques; ?> </li>
<ol type="A">
<li><input type="radio" name="option" value="<?php echo $question->ansOpt1 ?>"><?php echo $question->ansOpt1 ?></li>
<li><input type="radio" name="option" value="<?php echo $question->ansOpt2 ?>"><?php echo $question->ansOpt2 ?></li>
<li><input type="radio" name="option" value="<?php echo $question->ansOpt3 ?>"><?php echo $question->ansOpt3 ?></li>
<li><input type="radio" name="option" value="<?php echo $question->ansOpt4 ?>"><?php echo $question->ansOpt4 ?></li>
</ol>
<?php endif ?>
<!-- increase $i -->
<?php $i++; ?>
<?php endforeach ?>
</ol>
<input type="hidden" name="correct_ans">
</fieldset>
</form>
</div>