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

そして、 notes変数が私のビューで定義されていないというエラーが発生します。

配列がどのように機能するのか理解していないと思います。私はそれについて読み込もうとしました、私はこれに似たいくつかの例を試しましたが、それでもそれを得ることができません。

4

2 に答える 2

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;
于 2012-08-13T17:22:00.350 に答える
0

これを交換してください

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

これとともに

$notes['notes'] = $this->Note_model->show_notes();
于 2012-08-13T17:23:53.400 に答える