变量变得混乱

时间:2012-01-24 21:20:19

标签: php codeigniter

好的,我通过了数据库教程,最终得到了以下内容:

function index() {
    $this->load->model('dataModel');

    $data['rows'] = $this->dataModel->getAll();     
    $data = array('title' => 'NKADD Calendar of Events', 'main_content' => 'pages/contact');
    $this->load->view('template/main', $data);

}

我收到错误,我相信它与$ data数组/变量有关,但是我不确定如何解决它!

这是视图页面,顺便说一句

foreach ($rows as $r) {
    echo '<h1>' . $r->title . '</h1>';
}

查看页面时出现错误

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: rows
Filename: pages/contact.php

任何帮助?

2 个答案:

答案 0 :(得分:3)

你混淆了$ data [&#39; rows&#39;] =&#34;某事&#34;和$ data =&#34;东西&#34;,使用

$data['rows'] = $this->dataModel->getAll();     
$data[] = array('title' => 'NKADD Calendar of Events', 'main_content' => 'pages/contact');

通过在第二行分配$ data = array(&#39; ....&#39;),您已将新数据分配给$ data,因此旧值已经消失。

在你的模特中试试这样的东西

//foreach($q->result() as $row)                                                       
//{ 
//$data[] = $row; 
//} 
//return $data; 
return $q->result();

答案 1 :(得分:1)

好吧,你不需要添加$data数组,变量数组,但是要做这样的事情:

$data = array(
    'rows'    => $this->dataModel->getAll(),
    'title'   => 'Your title',
    'main_content'    => 'your main content value',
);

或者向元素添加元素,如:

$data['title'] = 'Your title';
// so on

这样您就可以在模板中访问$ title和$ rows以及其他变量。