ユーザーが質問に答えることができる小さな複数選択ページがあり、すべての回答がデータベースに保存されますが、何らかの理由でコードが正しく実行されず、どのような回答をクリックしても、3 つの利用可能な選択肢から最初のオプションのみが表示されます。リンゴ、ナシ、ウィンドウの 3 つの答えがあるとします。最初の 1 つのリンゴをクリックするとデータベースにリンゴが保存されますが、ウィンドウまたはナシをクリックすると、ウィンドウまたはナシの代わりにリンゴが保存されます。私のコントローラー機能です:
function addanswer() {
$arrData = array();
$userid = null;
if ($this->session->userdata("userid")) {
$userid = $this->session->userdata("userid");
}
if ($this->input->post()) {
//$arrData["answerid"] = $this->input->post("QID");
$arrData["questionid"] = $this->input->post("qA");
if ($this->input->post("qA")) {
$arrData["answerA"] = $this->input->post("qA");
}
if($this->input->post("qB")) {
$arrData["answerB"] = $this->input->post("qB");
}
if($this->input->post("qC")) {
$arrData["answerC"] = $this->input->post("qB");
}
$arrData["userid"] = $userid;
}
$viewData['survay_data_id'] = $this->survay->addsurvay($arrData);
$this->load->view('survay_view', $viewData);
}
モデル
<?php
class Survay extends CI_Model {
function dosurvay($question_id = null) {
$this->db->select('QID, Question, qA, qB, qC');
$this->db->from('tblquestions');
if ($question_id) {
$this->db->where('QID', $question_id);
}
$this->db->limit(1);
$query = $this->db->get();
if ($query->num_rows() == 1) {
return $query->result();
} else {
return false;
}
}
function addsurvay($arrData) {
$this->db->insert('tblanswers', $arrData);
if ($this->db->affected_rows() > 0) {
return $this->db->insert_id();
} else {
return false;
}
}
}
?>
見る
<?php if(isset($survay_data)) : ?>
<form action="http://localhost/Surva/index.php/survaycontroller/addanswer/" name="myform" id="myform" method="post">
<?php foreach ($survay_data as $survay): ?>
<ul>
<li><h1><?php echo $survay->Question; ?></h1></li>
<li><?php echo $survay->qA; ?><input type="checkbox" name="qA" value="<?php echo $survay->qA; ?>"></li>
<li><?php echo $survay->qB; ?><input type="checkbox" name="qB" value="<?php echo $survay->qB; ?>"></li>
<li><?php echo $survay->qC; ?><input type="checkbox" name="qC" value="<?php echo $survay->qC; ?>"></li>
Comments:
<li><?php echo form_textarea('comment')?></li>
<li><input type="hidden" name="QID" value="<?php echo $survay->QID; ?>"></li>
<li><input type="submit" name="btn" value="Answer"></li>
</ul>
<?php endforeach; ?>
</form>
<?php endif; ?>