2017-11-10 7 views
0

CI 3을 사용하여 데이터베이스에서 레코드를 검색하고 작동하는 페이지 매김을 표시 할 수 있습니다. 이제 URL을 정리하고 싶습니다.Codeigniter 페이지 매김 및 경로 제거 인덱스

URL이 이렇게 보이길 원합니다.

  • 페이지 1 example.com/search?q=123
  • 2 페이지 example.com/search/10?q=123
  • 3 페이지 example.com/search/20?q=123

대신들은 이런 표시;

  • 페이지 1 example.com/search?q=123
  • 페이지 페이지 2와 3에 index이 있음 3 example.com/search/index/20?q=123

공지 사항이 example.com/search/index/10?q=123

  • 페이지 -이 내가 제거 할 것입니다.

    routing에 관한 문서를 읽었지만 제대로 작동하지 않습니다.

    내 코드 샘플은 아래 참조 용입니다.

    컨트롤러

    <?php 
    defined('BASEPATH') OR exit('No direct script access allowed'); 
    
    class Search extends CI_Controller{ 
    
        public function index() 
        { 
         $search_term = $this->input->get('q'); 
         $config['uri_segment'] = 3; 
         $config['base_url'] = base_url().'search/index'; 
         $config['use_page_numbers'] = FALSE; 
         $config['reuse_query_string'] = TRUE; 
         $config['total_rows'] = $this->search_model->item_list_count($search_term); 
         $config['per_page'] = 10; 
    
         $this->load->library('pagination'); 
         $this->pagination->initialize($config);   
        } 
    
    } 
    

    routes.php

    $route['search/(:any)'] = 'search/index/$1'; 
    

    내가 base_url에서 /index을 제거 할 때마다이 주소 표시 줄에 URL이 성공적으로 변경되지만 페이지 1 단순히 새로 고칩니다. 새로운 데이터가 보이지 않고 결과 2 페이지로 이동하지 않습니다.

    $config['base_url'] = base_url().'search'; 
    

    나는 또한 this question을 읽었으며 다른 해결책이 있는지 궁금하십니까?

  • +0

    감사합니다. 작동하지 않습니다 :/ – TheOrdinaryGeek

    답변

    -1

    변경이 귀하의 페이지 매김 설정에서 기본 URL : 나는 당신의 제안에 내 질문에 업데이트 한 @JitendraYadav

    $config['base_url'] = base_url().'search'; 
    
    +0

    왜이 답변에 대한 빼기? – Tpojka

    +0

    Thanks @ ShoeLace1291, 내가 할 때 주소 표시 줄에 URL이 변경되지만 페이지가 단순히 동일한 결과 표시를 새로 고칩니다. 오프셋이 작동하지 않습니다 :/내 질문을 업데이트했습니다. – TheOrdinaryGeek