2014-01-11 66 views
0

我在線查看有關從CI模型中檢索數據的示例。我在這裏尋找答案,因爲我的問題似乎很容易,但我嘗試的每個示例仍然給我消息:未定義變量:更新消息:爲foreach提供的無效參數。有任何想法嗎?CI在foreach循環中給出未定義的變量

型號:

function list_updates(){ 
    return this->db->get('updates')->result(); 
} 

控制器

public function index() 
{ 

    $this->load->model('updates_model'); 

    $data = array(); 
    $data['updates'] = $this->updates_model->list_updates(); // if i do print_r before render, the data displays in the view (but not formatted correctly) 

    $this->_render('pages/publicfeed', $data); 
} 

查看

<div id="message_count" style="margin-left:40%;"> 
    <?php 
     foreach ($updates as $up){ 
      echo $up->update; 
     } 
    ?> 
</div> 
+1

嘗試的print_r($這個 - > updates_model-> list_updates()),並進行調試 –

回答

0

在你的視圖文件,你沒」 t檢查$updates是否有記錄。當你沒有記錄時,我認爲你正面臨着這個問題。所以在通過foreach之前檢查一下。

CI result()函數將返回對象列表。所以你可以使用count方法來檢查記錄數。

<div id="message_count" style="margin-left:40%;"> 
    <?php 
     if(count($updates)>0) 
     { 
     foreach ($updates as $up){ 
      echo $up->update; 
     } 
     } 
     else 
     { 
     echo "<p>No Records found</p>"; 
     } 
    ?> 
</div> 
0

您需要從查詢中獲取數據作爲數組。

更改result()result_array()模型中。而$up->update$up['column_name']其中列名是表中列的名稱,例如update_idupdate_title,等...

這應該這樣做。