通过控制器的数据 - 在CodeIgniter中查看

时间:2013-01-21 08:08:12

标签: codeigniter view controller

我的控制器中有这个代码段:

// 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]);

第二个视图是content.php:

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

我上面的第二行有错误。错误消息是:

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

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:0)

你必须这样显示,

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

因为您已将其创建为二维数组。

答案 1 :(得分: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);

如果你在文章上应用php extract     提取物($条); 您将可以访问

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);