2011-11-25 104 views
2

我有控制器和视图,我非常noob问题,如何传递数据来查看。如何将数据从控制器传递到查看CI

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

回答

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 VAR你循环通过。

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; 
    } 
} 
?> 
+0

我试图用这个从控制器传递数据的技术来查看,但我得到一个PHP错误'未定义的变量:查询'。如何在视图内访问该参数? –

+0

@Pat,很难说没有看到你的代码。这可能值得作为一个单独的问题提出。 –

+0

我真的发现了如何。如果我在控制器中调用像$ this-> load-> view(“games”,$ view_data);',那么我可以访问变量'$ query',它与'$ view_data [ '查询']'。 –

相关问题