Переменные путаются - PullRequest
0 голосов
/ 25 января 2012

ОК, я прошел учебник по базе данных и в итоге получил следующее:

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 ]

3 голосов
/ 25 января 2012

Вы перепутали $ data ['row'] = "что-то" и $ data = "что-то", используйте

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

Присвоив $ data = array ('....') во второй строке, вы присвоили новые данные $ data, чтобы старые значения исчезли.

Попробуйте что-то подобное в вашей модели

//foreach($q->result() as $row)                                                       
//{ 
//$data[] = $row; 
//} 
//return $data; 
return $q->result();
1 голос
/ 25 января 2012

Ну, вам не нужно добавлять в $data массив, массив переменных, но делать что-то вроде этого:

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

Или добавление элементов в массив, как:

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

Таким образом, вы можете получить доступ к $ title и $ row и другим переменным в шаблоне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...