Codeigniter消息:未定义的变量:查询

时间:2013-02-27 09:09:03

标签: php mysql database codeigniter show

解决!

感谢Fabio,我意识到我错过了控制器的索引功能。


我正在制作一个视图,向我展示数据库中的数据。

现在我收到错误:消息:未定义变量:查询。

我的模特:

<?php
class categorieen_model extends CI_Model{

    function categorieen_getall()
    {
        $this->load->database();
        $query = $this->db->get('Categorieen');

        return $query->result();
    }
}

?>

我的控制器

public function get_All()
{
    $this->load->model('categorieen_model');
    $data['query'] =
    $this->categorieen_model->categorieen_getall();

    $this->load->view('sidebar', $data);
}

我的观点

<ul>
<?php foreach ($query as $row): ?>
    <?php echo $row->Categorie; ?>
<?php endforeach; ?>
</ul>

上周我在我的控制器/视图中使用相同的数据库,另一个表以及其他数据和名称尝试了这个并且它有效。当我今天把它改成我的新桌子时,它已经无法使用了。

请帮忙

由于

3 个答案:

答案 0 :(得分:1)

在你的控制器中使用它:

<?php 
if(is_array($query) && count($query)  > 0 ) { ?>
<ul>
<?php foreach ($query as $row): ?>
    <?php echo $row->Categorie; ?>
<?php endforeach; ?>
</ul>
<?php }?>

答案 1 :(得分:1)

您没有将索引方法的任何数据传递给视图

<?php
  class Home extends CI_Controller{

    public function index() {
      //add this code
      $this->load->model('Categorieen_Model');
      $data['query'] = $this->Categorieen_Model->categorieen_getall();
      $this->load->vars($data);
      //end of new code
      $this->load->view('header');
      $this->load->view('navmenu');
      $this->load->view('sidebar');
      $this->load->view('home');
      $this->load->view('sidebar2');
      $this->load->view('sidebar3');
      $this->load->view('footer');
    }

    public function get_All(){
      $this->load->model('Categorieen_Model');
      $data['query'] = $this->Categorieen_Model->categorieen_getall();

      $this->load->view('sidebar', $data);
    }

  }
?>

答案 2 :(得分:-1)

将您的控制器更改为此

public function get_All()
{
    $this->load->model('categorieen_model');
    $data['list'] =
    $this->categorieen_model->categorieen_getall();

    $this->load->view('sidebar', $data);
}

将视图更改为

<ul>
<?php foreach ($list as $row){?>
    <?php echo $row->Categorie; ?>
<?php } ?>
</ul>