如何将数据从控制器传递到CI中的视图

时间:2011-11-25 20:10:05

标签: codeigniter view model controller

我有控制器和视图,我有非常的noob问题,如何传递数据进行查看。

    if (is_int($page)){
        $this->load->model("Gamesmodel");
        $query = $this->Gamesmodel->games("all",$page);
        $this->load->view("games", $query);
    }

并查看

<?php
if ($query->num_rows() > 0)
 {
    foreach ($query->result as $row)
    {
       echo $query->result->title;
    }
 }
?>

1 个答案:

答案 0 :(得分:3)

一些事情。

1)您需要将数组或对象传递给视图,并将变量设置为键(如果使用数组)或属性(如果使用对象)。即。

$view_data['query'] = $this->Gamesmodel->games("all",$page);
$this->load->view("games", $view_data);

2)result是一种方法,而不是一种属性,所以你需要这样称呼它。

foreach ($query->result() as $row)

3)你需要在你的循环中调用$row变量,而不是你循环的$query变量。

echo $row->title;

所以,现在你应该有这样的代码:

在控制器中:

if (is_int($page))
{
    $this->load->model("Gamesmodel");

    $view_data['query'] = $this->Gamesmodel->games("all",$page);
    $this->load->view("games", $view_data);
}

在视图中:

<?php
if ($query->num_rows() > 0)
{
    foreach ($query->result() as $row)
    {
        echo $row->title;
    }
}
?>