我的PHP Codeigniter项目中有很多页面。我有一个header.php页面..在header.php中我需要获取mysql查询中的类别...我怎样才能为每个页面执行此操作? 我需要为每个页面上的每个header.php做一个mysql查询..我想一次查询类别。 谢谢你的帮助......
答案 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的构造函数中设置此部分代码。