2016-11-03 3 views
0

누구나 내 문제를 해결하는 방법을 알고 있습니다 .. 내 문제는 카테고리 작업을 기반으로하는 페이지 매김입니다. 버튼 매김을 클릭하면 결과가 페이지에 표시되지 않을 수 있습니다. 내 경로에 문제가있을 수 있습니다. 하지만 난 그것에 대해 잘 모르겠어요 .. 좀 도와주세요 .. 이 내 경로카테고리 포스트와 함께 페이지 매김을 만드는 방법 Codeigniter

$route['blog/category/:any']     = 'Blog_Category_Post/page'; 

이 내 컨트롤러 귀하의 URL이 두 PARAMS이 있기 때문에 당신은 두 가지 경로를 설정해야

public function page($offset=0) 
{ 
    $id=$this->uri->segment('3'); 
    $this->db->select('id,categoryId'); 
    $this->db->from('t_blog_post'); 
    $this->db->where('categoryId',$id); 
    $query= $this->db->get(); 

    //$jml      = $this->db->get('t_blog_post'); 
    $config['base_url']   = base_url().'blog/category/'.$id.'/page'; 
    $config['total_rows']  = $query->num_rows(); 
    $config['per_page']   = 2; /*Jumlah data yang dipanggil perhalaman*/ 
    $config['uri_segment']  = 4; /*data selanjutnya di parse diurisegmen 3*/ 
    /*Class bootstrap pagination yang digunakan*/ 
    $config['full_tag_open'] = "<ul class='pagination pagination-sm' style='position:relative; top:-25px;'>"; 
    $config['full_tag_close'] ="</ul>"; 
    $config['num_tag_open']  = '<li>'; 
    $config['num_tag_close'] = '</li>'; 
    $config['cur_tag_open']  = "<li class='disabled'><li class='active'><a href='#'>"; 
    $config['cur_tag_close'] = "<span class='sr-only'></span></a></li>"; 
    $config['next_tag_open'] = "<li>"; 
    $config['next_tagl_close'] = "</li>"; 
    $config['prev_tag_open'] = "<li>"; 
    $config['prev_tagl_close'] = "</li>"; 
    $config['first_tag_open'] = "<li>"; 
    $config['first_tagl_close'] = "</li>"; 
    $config['last_tag_open'] = "<li>"; 
    $config['last_tagl_close'] = "</li>"; 
    $this->pagination->initialize($config); 

    $list_blogPost=$this->BlogCategory->get_post($config['per_page'], $offset,$id); 
    $list_lastblogPost=$this->BlogCategory->get_last_post(); 
    $list_blogCategory=$this->BlogCategory->get_category(); 
    $data=array(
     'title'   => 'Blog', 
     'userId'   => $this->session->userdata('sh_userId'), 
     'fullName'  => $this->session->userdata('sh_fullName'), 
     'accountTypeId' => $this->session->userdata('sh_accountTypeId'), 
     'photo'   => $this->session->userdata('sh_photo'), 
     'halaman'  => $this->pagination->create_links(), 
     'offset'   => $offset, 
     'listblogPost' => $list_blogPost, 
     'listlastblogPost'=> $list_lastblogPost, 
     'listblogCategory'=>$list_blogCategory 
     ); 
    $this->template->display_admin('blog_categorypost',$data); 
} 

답변

0

방법.

$route['blog/category/(:any)/page'] = 'Blog_Category_Post/page/$1/page'; 
$route['blog/category/(:any)/page/(:any)'] = 'Blog_Category_Post/page/$1/page/$2'; 

로 경로를 변경하고 이제 드디어 page 컨트롤러 지금

public function page($categoryId){ 
    $this->db->select('id,categoryId'); 
    $this->db->from('t_blog_post'); 
    $this->db->where('categoryId',$categoryId); 
    $query= $this->db->get(); 

    //$jml      = $this->db->get('t_blog_post'); 
    $config['base_url']   = site_url('blog/category/').'/'.$categoryId.'/page'; 
    $config['total_rows']  = $query->num_rows(); 
    $config['per_page']   = 2; /*Jumlah data yang dipanggil perhalaman*/ 
    $config['uri_segment']  = 5; /*data selanjutnya di parse diurisegmen 3*/ 
    /*Class bootstrap pagination yang digunakan*/ 
    $config['full_tag_open'] = "<ul class='pagination pagination-sm' style='position:relative; top:-25px;'>"; 
    $config['full_tag_close'] ="</ul>"; 
    $config['num_tag_open']  = '<li>'; 
    $config['num_tag_close'] = '</li>'; 
    $config['cur_tag_open']  = "<li class='disabled'><li class='active'><a href='#'>"; 
    $config['cur_tag_close'] = "<span class='sr-only'></span></a></li>"; 
    $config['next_tag_open'] = "<li>"; 
    $config['next_tagl_close'] = "</li>"; 
    $config['prev_tag_open'] = "<li>"; 
    $config['prev_tagl_close'] = "</li>"; 
    $config['first_tag_open'] = "<li>"; 
    $config['first_tagl_close'] = "</li>"; 
    $config['last_tag_open'] = "<li>"; 
    $config['last_tagl_close'] = "</li>"; 
    $this->pagination->initialize($config); 

    if ($this->uri->segment(5)) { 
      $offset = $this->uri->segment(5); 
     } else { 
      $offset = 0; 
     } 

    $list_blogPost=$this->BlogCategory->get_post($config['per_page'], $offset,$categoryId); 
    $list_lastblogPost=$this->BlogCategory->get_last_post(); 
    $list_blogCategory=$this->BlogCategory->get_category(); 
    $data=array(
     'title'   => 'Blog', 
     'userId'   => $this->session->userdata('sh_userId'), 
     'fullName'  => $this->session->userdata('sh_fullName'), 
     'accountTypeId' => $this->session->userdata('sh_accountTypeId'), 
     'photo'   => $this->session->userdata('sh_photo'), 
     'halaman'  => $this->pagination->create_links(), 
     'offset'   => $offset, 
     'listblogPost' => $list_blogPost, 
     'listlastblogPost'=> $list_lastblogPost, 
     'listblogCategory'=>$list_blogCategory 
     ); 
    $this->template->display_admin('blog_categorypost',$data); 
} 

테스트해야

$config['base_url'] = site_url('blog/category').'/'.$id.'/page'; 

을 다음과 같이 설정 라인 base_url을 변경합니다. 당신이 정보를 실제로 예를 HTTP의 범주별로 매김 필터에 대한 스크립트 작업에 의해

+0

감사 : // localhost를/어/블로그/카테고리/1 (ID 범주) 문제는 링크 페이지 매기기에 입니다을 http :/localhost를/eh/blog/category/1/page/2 (page) 및 링크 설정 결과 404 –

+0

@JefriFernando ok 답변을 업데이트했습니다. 지금 –

+0

을 확인하십시오. 경로가 변경되었거나 다른 사람이 있습니까? 실제로 이전에 나는 당신의 제안과 같은 유형의 스크립트가 있지만 결과는 페이지를 찾을 수 없습니다 404 –

관련 문제