2011-11-25 161 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 [ '查詢']'。 –

相關問題