从控制器传递数据以在Codeigniter的另一个视图中查看

时间:2018-10-11 17:43:54

标签: php database codeigniter model-view-controller codeigniter-3

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

控制器-

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();
}

3 个答案:

答案 0 :(得分:0)

要将视图分配给变量,第三个参数必须为true:

$listblogwithpage=$this->load->view('list_blog',$listblog, true);

第二个参数必须是一个数组。例如。 $data['listblog'] = 123;

$var = $this->load->view('somepage', $data, true);

这适用于view的任何用法。

答案 1 :(得分:0)

如果要将数据从控制器传递到第一个视图,然后让第二个视图将数据传递到第二个视图,则应执行以下操作,并始终记住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都可以是单个变量,数组,对象,并且几乎可以是任何东西,只要它们作为数组的元素传递到视图即可

答案 2 :(得分:0)

尝试这种方式。

//Controller

    function Listblog() {
           $data = array();
    $data['listblog']=$this->Login->listblog();
            $this->load->view(''list_blog',$listblog');
        }

在视图页面中,您必须调用该数据数组$ listblog