如何在codeigniter中的单页header.php中显示查询结果?

时间:2017-03-25 15:36:10

标签: codeigniter header categories product

我的PHP Codeigniter项目中有很多页面。我有一个header.php页面..在header.php中我需要获取mysql查询中的类别...我怎样才能为每个页面执行此操作? 我需要为每个页面上的每个header.php做一个mysql查询..我想一次查询类别。 谢谢你的帮助......

1 个答案:

答案 0 :(得分:0)

如果您不想在每个HTTP请求中查询数据库,请将第一个请求查询结果存储在会话变量或本地存储变量中。 MY_Controller伪代码类似于

if ( ! $this->session->userdata('header_categories') { 
    $header_categories =  $this->Category_m->get_all();
    $this->session->set_userdata('header_categories', $header_categories);
}
// otherwise data is already there and no need for DB query

在此会话方法中,您可以在视图文件中循环$this->session->userdata('header_catogories'),即header.php 正如您所看到的,我提到了应该存在的MY_Controller类,并且每个控制器都应该扩展该类。您需要在MY_Controller的构造函数中设置此部分代码。