0

我是codeigniter的新手,我正在尝试在网页上显示一些数据我有控制器和模型但是我的变量daunt似乎被传递到视图页面看看我的代码,如果你能告诉我什么是错的用它 tnx 为您提供帮助。

控制器:

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

看法:

<html>
  <body>
    <?php form_open('survay'); ?>
    <h1><?php echo $Question;?></h1>
    <?php echo $qA; ?><input type="checkbox" name="q" value="qA">
    <?php echo $qB; ?><input type="checkbox" name="q" value="qB">
    <?php echo $qC; ?><input type="checkbox" name="q" value="qC">
    <?php echo form_close(); ?>
  </body>
</html>

模型:

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






}
4

2 回答 2

1

假设您的模型返回所有​​数据。你必须使用 foreach 因为数据存储在一个数组中,然后你可以像这样检索它。

<html>
  <body>
    <?php form_open('survay'); ?>
     <?foreach($survay_data as $survay):?>
    <h1><?php echo $survay->Question;?></h1>
    <?php echo $survay->qA; ?><input type="checkbox" name="q" value="qA">
    <?php echo $survay->qB; ?><input type="checkbox" name="q" value="qB">
    <?php echo $survay->qC; ?><input type="checkbox" name="q" value="qC">
     <?endofreach;?>
    <?php echo form_close(); ?>
  </body>
</html>
于 2013-02-25T12:51:50.517 回答
0

阅读您的代码,老实说,我不知道您要完成什么,但它存在明显的问题。

首先在你的控制器中分配 post 变量,在第一次加载时你不会有 post 变量,所以所有这些行都会立即失败。

然后您只将一个数据变量 survay_data 传递给视图,但随后您尝试在视图中使用 $qA 等,而这些变量不存在。

如果您希望从 survay_data 数组中获取它们,那么您需要通过该数组加载它们,如下所示:

<?php echo $survay_data[0]['qA']; ?><input type="checkbox" name="q" value="qA">
于 2013-02-25T12:52:51.327 回答