笨将数据传递到所述视图(CodeIgniter passing data to the view)

2019-10-17 13:26发布

我想从我的控制器传递到像这样的观点?

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

在我看来,...

<?php echo $data; ?>

但我得到这个错误...

遇到一个PHP错误

严重性:通知

消息:未定义的变量:数据

文件名:观点/ playerslist.php

行号:76

我究竟做错了什么?

我想这样做与此数据被放在一个foreach语句,并显示在$ data数组中的一切

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

谢谢,J

Answer 1:

您不能访问$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) );


Answer 2:

根据你的问题和示例代码,我断定你想从一个表“溜冰”检索数据并在视图中显示它。

$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

数据被从控制器到由阵列的方式或在视图装载功能的第二个参数的对象的视图通过。 然后笨将使用“提取”功能提取第二参数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));
     }


文章来源: CodeIgniter passing data to the view