简体   繁体   English

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

[英]error on passing from controller to views in codeigniter?

i want to passing data from model to controller then to view this code explain it. 我想将数据从模型传递到控制器,然后查看此代码进行解释。

the model 该模型

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

the controller code 控制器代码

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

the view code 查看代码

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

the error appears 错误出现

A PHP Error was encountered 遇到PHP错误

Severity: Warning 严重程度:警告

Message: Invalid argument supplied for foreach() 消息:为foreach()提供了无效的参数

Filename: views/home.php 文件名:views / home.php

Line Number: 8 行号:8

For CI, in my models I usually use: 对于CI,我通常在模型中使用:

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

return $query->result_array();

then if your view you'll check if the array is false before displaying 那么如果您的视图,您将在显示之前检查数组是否为假

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM