Php 如何在Codeigniter中将数据从一个视图传递到另一个视图?
我有一个控制器main.php。我从这个控制器加载视图并传递数据Php 如何在Codeigniter中将数据从一个视图传递到另一个视图?,php,codeigniter,Php,Codeigniter,我有一个控制器main.php。我从这个控制器加载视图并传递数据 $this->load->view('main',$data); 在我的主要观点中,我正在加载以下内容: $this->load->view('header'); $this->load->view('content',$newData); $this->load->view('footer') 但是当我试图访问$newData时,我得到的是未设置的数据 $data i
$this->load->view('main',$data);
在我的主要观点中,我正在加载以下内容:
$this->load->view('header');
$this->load->view('content',$newData);
$this->load->view('footer')
但是当我试图访问$newData
时,我得到的是未设置的数据
$data is of type
Array
(
[newData] => Array
(
[0] => abc
[1] => cde
[2] => pqr
[3] => xyz
)
)
如何在内容视图中访问新数据
$this->load->('content',$newData);
取而代之的是it用户
$this->load->view('content');
无法在内容视图中访问$data数组。。
Codeigniter有一个很好的文档。1st$this->load->('header')代码>不是有效的php行
因为没有函数名$this->load->function\u name(“”)
所以它会给你一个错误
第二个您不能从另一个视图内部加载视图,加载视图是控制器的工作
如果您需要有关MVC编程的更多信息,请告诉我:)查看$data
的结构,您可以尝试以下方法,但不需要测试:
$this->load->view('main',$data);
主要观点是:
$this->load->view('header');
$this->load->view('content', array('newData' => $newData));
$this->load->view('footer')
当您尝试访问newData
时,视图预期会有一个名为newData
的键,但您传入的是newData
本身,因此如果您使用数组包装它,那么它应该是好的。在您的第二个代码子句中(即this->load->(…
)应该抛出一个语法错误。你明白了吗?是的。实际上是我的键入错误。我会更改它。我不知道CI,但怀疑你只能加载一个视图。也许,加载你的内容视图,然后从那里呈现页眉和页脚部分?应该有一个视图帮助程序来完成这项工作,并在必要时将变量传递给部分。这是答案是正确的……但应该是数组('newData'=>$newData)