Php 如何使用变量在codeigniter中加载视图?

Php 如何使用变量在codeigniter中加载视图?,php,codeigniter,Php,Codeigniter,嗨,我只想使用变量而不是直接名称加载查看页面 这是我的密码:- function load_views() { $this->load->model('test_model'); $data=$this->test_model->getMenu(); foreach($data as $data_menu) { echo $data_menu->views; $this-&g

嗨,我只想使用变量而不是直接名称加载查看页面

这是我的密码:-

function load_views()
    {
      $this->load->model('test_model');
      $data=$this->test_model->getMenu();
      foreach($data as $data_menu) {
            echo $data_menu->views;
            $this->load->view($data_menu->views);
      }
    }
输出:

test_view
  An Error Was Encountered Unable to load the requested file: .php
实际上,它从db中获取值,但它没有调用视图文件夹中的视图文件

这是我的查看页面:

现在在视图中,我希望动态加载视图,但我不能。。。
请帮帮我

此问题可能是因为,您不能直接从单个功能/控制器加载多个视图,当您仅加载视图时,CI会将其发送到浏览器。 对此,还有两种其他解决方法:

加载菜单视图时传递第二个参数NULL和第三个参数TRUE,这将创建html作为数据,而不是将其发送到浏览器。请参阅此链接: 创建一个视图文件,将数据传递给该视图&在该视图上执行for循环并加载所有视图。 如果您使用var_dump$data,您将看到它在数组中的某个位置有一个空值

正如kumar_v在评论中所说,尝试检查空值

foreach($data as $data_menu) {
    if(!empty(trim($data_menu->views)))
        $this->load->view($data_menu->views);
}

你能做一个var\u dump$data\u菜单->视图而不是echo吗?在加载视图之前检查$data\u菜单->视图=这行吗:$this->load->view'test_view'?是否有具有该名称的视图?是否在视图文件夹中有测试视图文件,或首先静态选中测试视图以查看load@aze它只打印视图的名称,不会重定向。当然,您可以从同一个控制器加载多个视图。加载->查看充当包含++是的,我更改了答案,请参考其中提到的链接。只有当您希望检索加载->查看作为变量,然后操作此变量时,才需要真实值。如果只想加载页眉、主内容、页脚,则不需要设置为TRUE。只需调用3个加载->视图,就可以了。你的回答要更准确,这是误导。
foreach($data as $data_menu) {
    if(!empty(trim($data_menu->views)))
        $this->load->view($data_menu->views);
}