大家好我剛開始使用codeigniter和php。我正在製作一個簡單的調查類型網站白盒複選框,問題將成爲多項選擇,如果勾選複選框,結果將存儲在數據庫中。我的問題是我將如何去做這件事。這是我的形式,並感謝所有人提前幫助。codeigniter複選框值
視圖
<?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>
控制器
<?php
class Survay extends CI_Model{
function dosurvay($arrData){
$this->db->select('QID, Question, qA, qB, qC');
$this->db->from('tblquestions');
$this->db->where('Question', $arrData['Question']);
$this->db->where('qA', $arrData['qA']);
$this->db->where('qB', $arrData['qB']);
$this->db->where('qC', $arrData['qC']);
$this -> db -> limit(1);
$query = $this -> db -> get();
if($query -> num_rows() == 1)
{
return $query->result();
}
else
{
return false;
}
}
}
?>
模型
<?php
class Survaycontroller extends CI_Controller{
// 'QID, Question, qA, qB, qC'
function index()
{
$arrData = array();
$arrData["qA"] = $this->input->post("qA");
$arrData["qB"] = $this->input->post("qB");
$arrData["qC"] = $this->input->post("qC");
$arrData["Question"] = $this->input->post("Question");
$this->load->model('survay');
$survay_data = $this->survay->dosurvay($arrData);
$viewData['survay_data'] = $survay_data;
$this->load->view('survay_view', $viewData);
}
}
?>
我們可以看到你在控制器或模型中試過的東西嗎?請閱讀這些手冊:http://ellislab.com/codeigniter/user-guide/helpers/form_helper.html和http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html。他們應該讓你開始正確。 – 2013-02-26 07:57:48
我編輯了我的帖子並添加了一個控制器和模型代碼。我確實看過codeigniter的用戶指南,它幫助我瞭解了這個項目的特性,但不知道如何返回複選框的值。 – 2013-02-26 08:08:48
取決於問題出在哪裏。如果你想做一個選擇,我懷疑你將如何使用問題ID選擇問題的結果。如果您打算將答案插入到數據庫中,請創建一個插入語句。問題出在你的模型和那些奇怪的方括號中。你想插入或選擇問題嗎?我已經對如何在下面的答案中插入數組作出評論。看看是否有幫助 – 2013-02-26 09:15:22