首页 > 解决方案 > 将数据从控制器传递到codeigniter中另一个视图内的视图

问题描述

我从控制器中的模型获取数据。我想在另一个视图中显示这些数据。它显示空白页。这是我的代码..

控制器 -

public function Listblog()
    {
    $listblog=$this->Login->listblog();
    $listblogwithpage=$this->load->view('list_blog',$listblog);
    $this->load->view('Welcome_message',$listblogwithpage);
    }

模型 -

public function listblog()
{
    $query=$this->db->get('new_employee');
    return $query->result();
}

标签: phpdatabasecodeignitermodel-view-controllercodeigniter-3

解决方案


如果您想将数据从控制器传递到第一个视图,然后让第二个视图将数据传递到第二个视图,您应该执行以下操作,始终记住 CI 期望传递给视图的数据以数组的形式。拿走这个,随意调整它以满足您的需求

在控制器中:

// populate an array and pass it to the first view
$first_view_data = array(
    'listblog' => $listblog_query_result,
);

$this->load->view('firstview', $first_view_data);

在第一个视图中,使用您需要的任何数据填充一个新数组,并从第一个视图中调用第二个视图,传递第二个数据数组:

$second_view_data = array(
  'second_data_var' => $variable,
  'other_data_var'  => $other_var,
);

$this->load->view('second_view', $second_view_data);

CI 足够智能,可以让您从视图中调用视图,并以这种方式将数据从每个视图传递到下一个视图。请记住,它必须是一个数组。

使用数据:

在您调用的第一个视图中$listblog

在第二个视图中,您将访问$second_data_var$other_data_var

$listblog $second_data_var并且$other_data_var每个都可以是单个变量、数组、对象以及大多数任何东西,只要它们作为数组的元素传递给视图


推荐阅读