Codeigniter:将数据从控制器传递到视图

And*_*nch 29 php controller codeigniter view

我想$data从命名的控制器传递pollresults_view但是我得到一个未定义的变量错误.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Poll extends CI_Controller {

    public function __construct()
       {
            parent::__construct();
            $this->load->database();
            $this->load->helper('form');
       }

    public function index()
    {

        $this->load->view('poll_view',$data);
    }

    public function vote()
    {
        echo "Voting Successfull";
        $this->db->insert('votes',$_POST);
    }

    public function results()
    {
        echo "These are the results";
        //$query = $this->db->get('votes');
        $data = "hello";
        $this->load->view('results_view', $data);

    }
}
Run Code Online (Sandbox Code Playgroud)

Results_view.php

<html>
<?php echo $data; ?>
</html>
Run Code Online (Sandbox Code Playgroud)

Law*_*one 44

$data应该是一个数组或对象:http://codeigniter.com/user_guide/general/views.html

$data = array(
    'title' => 'My Title',
    'heading' => 'My Heading',
    'message' => 'My Message'
);

$this->load->view('results_view', $data);
Run Code Online (Sandbox Code Playgroud)

results_view.php

<html>
<?php 
//Access them like so
echo $title.$heading.$message; ?>
</html>
Run Code Online (Sandbox Code Playgroud)


ita*_*chi 15

简单来说,

控制器中的$ data ['a']在您的视图中变为$ a.(您的视图中不会存在$ data,只有索引可用)

例如

Controller:    
$data['hello']='hellow world';

view:
echo $hello;
Run Code Online (Sandbox Code Playgroud)


小智 7

你只需要创建一个数组,你使用codeigniter吗?

控制器上的示例:

$data['hello'] = "Hello, world";
$this->load->view('results_view', $data);
Run Code Online (Sandbox Code Playgroud)

在de page"results_view"中,您只需:

<?php echo $hello;?>
Run Code Online (Sandbox Code Playgroud)

Obs:您可以创建n个数据,只需注意名称并使其成为一个数组.

Obs²:要使用数据,请使用带回波的数组键.


Tom*_*Tom 6

该视图不会调用数据"数据"

控制器将包括一个关联索引(不确定这是否是正确的命名法),用于数据,例如"东西",因此 $data['stuff']

echo在视图中这样:echo $stuff;不是echo $data;

我是低级代码小提琴手,但我真的很喜欢CodeIgniter,所以请原谅我,如果我有这个关于山雀的屁股.

还有一件事 - 肯定你的构造函数有点浪费.所有加载库和助手都是使用自动加载文件完成的.