2017-03-25 7 views
0

PHP Codeigniter에 대한 많은 프로젝트가 있습니다. 하나의 header.php 페이지가 있습니다 .. header.php에서 mysql 쿼리의 카테고리를 가져와야합니다 ... 모든 페이지마다 어떻게 할 수 있습니까? 각 페이지에서 각 header.php에 대해 mysql 쿼리를 수행해야합니다. 한 번 카테고리를 쿼리하고 싶습니다. 도움을 주셔서 감사합니다.codeigniter의 한 페이지 header.php에서 쿼리 결과를 표시하는 방법?

답변

0

모든 HTTP 요청에 DB를 쿼리하지 않으려면 첫 번째 요청 쿼리 결과를 세션 변수 또는 로컬 저장소 변수에 저장하십시오. MY_Controller 의사 코드가 될 것을 당신이보기 파일에서 루프 $this->session->userdata('header_catogories') 수이 세션 접근 방식에서

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 

같은 즉 header.php 당신은 내가 존재해야 모든 컨트롤러 클래스를 확장해야 MY_Controller 클래스를 언급 볼 수 있듯이. MY_Controller의 생성자에서이 코드 부분을 설정해야합니다.

+0

답장을 보내 주셔서 감사합니다.하지만 누락 된 정보를 주신 것 같습니다. 헤더에 메뉴가 있습니다.이 메뉴에는 제품 카테고리가 있습니다. 데이터베이스에서이 카테고리를 추출해야합니다. 세션 사용자 데이터에 보관하는 것이 맞습니까? – hakan

+0

코드를 보았 기 때문에 더 이상 알 수 없습니다 (https://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/). 그 메뉴가 공개입니까? 다른 사용자별로 다른가요? 내가 아는 두 번째 방법 (세션 옆)은 로컬 저장소를 사용하는 것입니다. – Tpojka