2013-02-26 359 views
1

我正在嘗試使用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> 
+1

有趣的是,你擁有投票權彌補了這個問題,即使你沒有表現出任何試圖挽救這些值 – mishu 2013-02-26 10:58:34

+0

我要求幫助,我得到的幫助沒有什麼有趣的是:) – 2013-02-26 11:11:04

+0

老實說,我一直在尋找你的代碼是最後幾個問題,並試圖確定你想要做什麼,但沒有成功。這是一項多項選擇調查嗎?如果這樣的代碼代表一個問題?如果我們知道你正在努力完成什麼,這將會容易得多,因爲代碼的佈局方式對於多種選擇場景來說並不理想。 – 2013-02-26 11:28:09

回答

1

它找到這個答案在這裏: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

現在,這是肯定的工作。替換你已有的一切。讓我知道這些新代碼是否更有效地取代了我以上的代碼。

相關問題