数据未从Controller传递到View Codeigniter

时间:2013-05-17 15:10:25

标签: php codeigniter codeigniter-2

由于CodeIgniter的奇怪行为,我很困惑。我从Model获取一些数据并将其返回给Controller并将该数据从Controller传递给View。

控制器

function index()
    {
        $data['details'] = $this->Mymodel->Get_Details();
        $this->load->view('mypage',$data);
    }

模型

public function Get_Details() 
    {
        $query = "
                    SELECT 
                            *
                    FROM 
                            tablename
                 ";

        $result = $this->db->query($query)->result();
        return $result;
    }

查看

<?php 
 print_r($details); 
?>

问题是视图页面中没有显示任何内容。如果我在print_r($data);中的Controllerprint_r($result);中的Model,则会显示结果。如果在select中,*被替换为单个列名称,则输出将从Controller传递到View并显示输出。
从控制器到视图传递数据是否有任何限制?

更新:在视图中,如果我使用print_r($details[0]);print_r($details[n]);,则会打印结果。如果使用print_r($details);,则页面只是空白。可能是什么问题?

3 个答案:

答案 0 :(得分:0)

在模型中尝试这个

public function Get_Details() 
{
    $query = "
                SELECT 
                        *
                FROM 
                        tablename
             ";

    $result = $this->db->query($query);
    return $result->result();
}

答案 1 :(得分:0)

您是否尝试过此代码:

<强>模型

    public function Get_Details() 
    {
        $query = "
                    SELECT 
                            *
                    FROM 
                            tablename
                 ";

        return $this->db->query($query);
    }

查看

<?php 
 print_r($details->result()); 
?>

答案 2 :(得分:0)

result()函数将查询结果作为对象数组返回,或者在失败时返回空数组。

您需要在视图中循环显示它以获得预期的结果。

您可以在此处查看详细信息:http://ellislab.com/codeigniter/user-guide/database/results.html