簡體   English   中英

將復選框值存儲到數據庫中

[英]storing check box value in to database

我正在嘗試使用codeigniter編寫一個簡單的調查應用程序,我為每個答案都有一個復選框,並且我想將每個答案存儲到數據庫中的表中,我想問的是如何將所有這些信息存儲到數據庫中?表我是編碼世界的新手,一個簡單的解決方案就可以了。 現在我所擁有的就是在這里設置的視圖:

<html>
 <body>

<?php form_open('survay'); ?>  
<?php foreach($survay_data as $survay):?> 
<ul>
    <li><h1><?php echo $survay->Question; ?></h1></li> 
    <li><?php echo $survay->qA; ?><input type="checkbox"  name = "q1" value = "qA"></li>
    <li><?php echo $survay->qB; ?><input type="checkbox"  name = "q2" value = "qB"></li>
    <li><?php echo $survay->qC; ?><input type="checkbox"  name = "q3" value = "qC"></li>
<?php endforeach; ?>
<input type="textarea" value='a' name="comment">
<br>
<input type="submit" value="Submit">
</ul>
</body>
</html>

在這里找到答案: https : //stackoverflow.com/a/15086172/827224

這應該做您想要的。 根據我們在Stackover上的聊天,已經為您提供了答案。 您的問題不像您在聊天中提出的要求那么明確。 在下面找到可以解決問題的代碼

編碼器的基本用法:

我正在為您提供此代碼,以減少我們要進行的評論。 可以肯定的是,您對Codeigniter還是很陌生的。 我只能盡力而為。

步驟1:數據庫

創建數據庫表“ tblquestions”。 字段應為QID,qA,qB和qC。 如果有那么多的話,用多達43條記錄填充字段。 最少要有5條記錄。

步驟2:模型

<?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;
    }
}

}
?>

步驟3:控制器

<?php

class Survaycontroller extends CI_Controller {

    // 'QID, Question, qA, qB, qC'
    function __construct() {
        parent::__construct();
        $this->load->model('survay');
    }

    function index() {
        //This should select the survey question
        $data = array();
        $question_id = $this->uri->segment(3);
        $data[survay_data] = $this->survay->dosurvay($question_id);
        $this->load->view('survay_view', $data);
    }

    function addanswer() {
        //The answer is submitted to this...
        $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("qC");
            }
            $arrData["userid"] = $userid;
        }
        $viewData[survay_data_id] = $this->survay->addsurvay($arrData); //Get the ID of the answer stored
        $this->load->view('survay_view', $viewData);
    }

}
?>

第4步:視圖

<?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->qA; ?>"></li>
            <li><?php echo $survay->qC; ?><input type="checkbox" name="qC" value="<?php echo $survay->qA; ?>"></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; ?>

測試:

http://localhost/Surva/index.php/survaycontroller/index/2

檢索問題編號2

現在,這肯定可以工作。 替換所有您已經擁有的東西。 讓我知道這些新的代碼集是否可以更有效地代替我上面的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM