从控制器传递到codeigniter中的视图时出错?

时间:2013-09-27 16:28:28

标签: php codeigniter codeigniter-2

我想将数据从模型传递到控制器然后再查看 这段代码解释了它。

  

模型

public function get_all_college_name() {
    $q = $this -> db -> query('select * from college');
    if ($q -> num_rows() > 0) {
        foreach ($q->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
}
  

控制器代码

public function index() {
    $this -> load -> model('retriver_data');
    $data['rows'] = $this -> retriver_data -> get_all_college_name();

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

    //$this -> view_something('home', $data);
}
  

视图代码

<body>
    <?php
    foreach ($rows as $r) {
        echo $r -> name;
    }
    ?>
</body>

出现错误

  

遇到PHP错误

     

严重性:警告

     

消息:为foreach()提供的参数无效

     

文件名:views / home.php

     

行号:8

1 个答案:

答案 0 :(得分:0)

对于CI,在我的模型中我通常使用:

if ($query->num_rows() == 0)
    return FALSE;

return $query->result_array();

然后如果您的视图在显示之前检查数组是否为假

<body>
    <?php if ( ! $rows) : ?>
        no data
    <?php else: ?>
        <?php foreach ($rows as $row): ?>
            <?php print $row->name; ?>
        <?php endforeach;?>
    <?php endif; ?>
</body>