CodeIgniter передает данные в представление

Я пытаюсь перейти от своего контроллера к виду, как …

public function playerslist() { $this->load->database(); $data = $this->db->get('skaters'); $this->load->helper('url'); $this->load->view('playerslist', $data); } 

и, на мой взгляд, …

 <?php echo $data; ?> 

но я получаю эту ошибку …

Возникла ошибка PHP

Уровень важности: уведомление

Сообщение: неопределенная переменная: данные

Имя файла: views / playerslist.php

Номер строки: 76

Что я делаю не так?

То, что я хотел бы сделать с этими данными, помещается в оператор foreach и отображает все в массиве $ data

 foreach($data as $value => $key){ echo $key . "<br/>"; } 

Спасибо, J

Related of "CodeIgniter передает данные в представление"

Вы не можете получить доступ к $data прямо из вашего представления. Данные $data , передаваемые вашему представлению, должны быть ассоциативным массивом. Затем ключи будут преобразованы в переменные в вашем представлении.

Например:

 $data = array( 'name' => 'John', 'bars' => 23 ); $this->load->view('playerslist', $data); 

Затем, по вашему мнению, они будут преобразованы в переменные:

 <?php echo $name; ?> has <?php echo $bars; ?> bars of chocolate. 

Если вы хотите получить доступ к данным в исходном формате, передайте их в ассоциативный массив:

 $data = $this->db->get('skaters')->result(); $this->load->view( 'playerslist', array('data' => $data) ); 

основанный на вашем вопросе и пример кода, я заключаю, что вы хотите получить данные из таблицы «фигуристы» и отобразить их в поле зрения.

 $this-> db-> get ('skaters'); //not return result object or array 

Вам нужно изменить код

 $ this-> db-> get ('skaters') -> result (); // return object 

или

 $ this-> db-> get ('skaters) -> result_array (); //return array 

проверьте эту ссылку http://ellislab.com/codeigniter/user-guide/database/results.html

Данные передаются от контроллера к представлению посредством массива или объекта во втором параметре функции загрузки вида. Затем codeigniter будет извлекать второй параметр, используя функцию «extract» http://php.net/manual/en/function.extract.php

 public function playerslist () { $ this-> load-> database (); $ data = $ this-> db-> get ('skaters') -> result (); $ this-> load-> helper ('url'); $ this-> load-> view ('playerslist', array ('data' => $ data)); }