0

コントローラーに次のスニペット コードがあります。

// load model
$this->load->model('article');
$data['article'] = $this->article->get_data_article();

// add more array in data['article']
$data['article'][] = array( 'newcontent' => 'dummy string' );

 $this->load->view('index',$data);

次に、2 つのビューがあります。最初は index.php です。

$this->load->view('content',$article[0]);

2 番目のビューは content.php です。

<?php echo $title;?> <br>
<?php echo $newcontent;?>

上記の 2 行目にエラーがあります。エラーメッセージは次のとおりです。

Severity: Notice
Message: Undefined variable: newcontent
Filename: views/content.php

コードの何が問題になっていますか?

4

2 に答える 2

0

このように表示する必要があり、

echo $article[0]['newcontent'];

2次元配列として作成したためです。

于 2013-01-21T08:20:57.067 に答える
0

これが正しい方法です。

$data['article']['article1'] = array( 'newcontent' => 'dummy string' );
$data['article']['article2'] = $this->article->get_data_article();

そして視野に

echo '<pre>';
print_R($article1);
echo '<pre>';
print_R($article2);

これでアクセスできます。数値配列は、データをビューに渡すときに問題を引き起こします。インデックス付き配列を使用します。

編集:
このようにビューに渡すことができます

$this->load->view('content',$data); 

ビューには $article が表示されます。

echo '<pre>';
print_R($article);

article extract($article); に php 抽出を適用した場合 アクセスできるようになります

echo '<pre>';
print_R($article1);    
echo '<pre>';
print_R($article2);

しかし、それぞれの方法は、そのコントローラーを実行することです

$data['article1'] = array( 'newcontent' => 'dummy string' );
$data['article2'] = $this->article->get_data_article();

渡して見る

$this->load->view('content',$data);

そして、このようにアクセスします

echo '<pre>';
print_r($article1);
echo '<pre>';
print_r($article2);

抽出不要

その他の編集:
このようにすることができます

$result['article1'] = array( 'newcontent' => 'dummy string' );
$this->load->view('content',$result);
$result1['article2'] = $this->article->get_data_article();
$this->load->view('index',$result1);
于 2013-01-21T08:56:44.073 に答える