2012-08-13 37 views
0

簡單,但對於我來說,作爲一個初學者,一個問題。我需要從我的模型(數組充滿信息的同時讀取一個文本文件)傳遞一個數組到控制器,最後到一個視圖。 我的模型:從模型獲取數組,然後傳遞給查看

function show_notes(){ 
    $file = "notes.txt"; 

    foreach(file($file) as $entry) 
    { 
      list($user, $content) = array_map('trim', explode(':', $entry)); 
      $notes = array (
       'user'=> '$user', 
       'content'=> '$content' 
      ); 
    } 
    return $notes; 
} 

控制器:

function members_area() 
{ 
    $this->load->model('Note_model'); 
    $notes[] = $this->Note_model->show_notes(); 

    $this->load->view('includes/header'); 
    $this->load->view('members_area', $notes); 
    $this->load->view('includes/footer'); 
} 

,並鑑於我用這個:

 foreach ($notes as $item) 
    { 
    echo "<h1>$user</h>"; 
    echo "<p>$content</p>"; 
      } 

而且我得到錯誤筆記變量在我看來是不確定的。

我想我只是不明白數組是如何工作的。我試圖閱讀這個,我已經嘗試了一些類似的例子,但仍然無法得到它。

回答

0

在你的控制器:

$data['notes'] = $this->Note_model->show_notes(); 
... 
$this->load->view('members_area', $data); 

編輯:

在你看來:

<?php foreach ($notes as $item):?> 
    <h1><?php echo $item['user']; ?></h1> 
    <p><?php echo $item['content'] ?></p> 
<?php endforeach; ?> 

在你的模型:

$notes = array(); 
foreach(file($file) as $entry) 
{ 
     list($user, $content) = array_map('trim', explode(':', $entry)); 
     array_push($notes, array('user' => $user, 'content' => $content)); 
} 
return $notes; 
+0

以及它看起來像這樣的工作,但現在我得到了一個未定義的內容錯誤。它輸出我的「用戶」,但只有第一個重複 – tarja 2012-08-13 17:26:31

+0

@tarja我編輯了我的答案。 – 2012-08-13 17:29:54

+0

我已經按照你的建議做了,但我得到的錯誤:'array_push()期望參數1是數組,null給出' – tarja 2012-08-13 17:36:09

0

替換此

$notes[] = $this->Note_model->show_notes(); 

與此

$notes['notes'] = $this->Note_model->show_notes(); 
相關問題