제목 | pagination 질문입니다. | ||
---|---|---|---|
글쓴이 | freeseamew | 작성시각 | 2014/09/22 18:03:01 |
|
|||
페이지 번호를 클릭하면 url뒤에 페이지가 숫자가 아닌 &per_page=10 식으로 해서 링크가 생성되고 있습니다. ex) http://localhost:8080/php/impact_dashboard/index.php/admin/read_log_list/category/0/page&per_page=10 &per_page=10 가 아닌 그냥 숫자 10 으로 링크가 생성되는 방법이 어떤 것인지 도움 부탁드릴게요 소스는 아래와 같습니다. 참고로 $config['page_query_string'] = FALSE; 도 해봤지만 안되는군요 ㅠㅠ $uri_segment = 6; $get_category = $this->uri->segment(4); $get_page = $this->uri->segment(6); $this->load->model('data_m'); $this->load->library('pagination'); //$config['base_url'] = base_url().'index.php/board/read_board_list/category/'.$get_category.'/page/'; //$config['page_query_string'] = FALSE; //$config['num_links'] = 2; $config['base_url'] = base_url().'index.php/admin/read_log_list/category/'.$get_category.'/page'; $config['total_rows'] = $this->data_m->read_log_list_m('count','',''); $config['per_page'] = 10; // 한 페이지에 표시할 게시물 수 $config['uri_segment'] = $uri_segment; // 페이지 번호가 위치한 세그먼트 $config['full_tag_open'] = '<div class="pagination"><ul>'; $config['full_tag_close'] = '</ul></div>'; $config['cur_tag_open'] ='<li class="active"><span>'; $config['cur_tag_close'] ='</span></li>'; $config['num_tag_open'] ='<li>'; $config['num_tag_close'] ='</li>'; $config['prev_tag_open'] ='<li>'; $config['prev_tag_close'] ='</li>'; $config['next_tag_open'] ='<li>'; $config['next_tag_close'] ='</li>'; $config['first_tag_open'] = '<li>'; $config['first_tag_close'] = '</li>'; $config['last_tag_open'] = '<li>'; $config['last_tag_close'] = '</li>'; //$config['first_tag_open'] = '<li'>; // 페이지네이션 초기화 $this->pagination->initialize($config); // 페이징 링크를 생성하여 view에서 사용할 변수에 할당 $data['pagination'] = $this->pagination->create_links(); // 게시물 목록 불러오기 위한 offset, limit 값 가져오기 $data['page'] = $page = $this->uri->segment($uri_segment, 1); // segment 값이 없을 경우 기본을 1로 세팅한다는 의미 & // 페이지 생성 if($page > 1){ $start = (($page/$config['per_page'])) * $config['per_page']; } else { $start = ($page-1) * $config['per_page']; } $limit = $config['per_page']; $data['list'] = $this->data_m->read_log_list_m('', $start, $limit); /**/ $this->load->view('admin/log_list_v', $data); |
|||
다음글 | ci 컨트롤러 관련해서 질문드립니다. (2) | ||
이전글 | controller 내에서 method간 변수 전달 (4) | ||
변종원(웅파)
/
2014/09/22 18:35:19 /
추천
0
|
freeseamew
/
2014/09/22 19:11:25 /
추천
0
문제는 그 부분을 true나 false로 바꿔도 계속 같은 상태가 유지 됩니다. ㅠㅠ
혹시 다른 부분의 설정이 필요한지 아시는 분은 도움 부탁드립니다. |
darkninja
/
2014/09/22 19:37:39 /
추천
0
초짜라 소스만 봐서는 잘 모르겠네요
ci 의 기본 라이브러리를 사용하신건지 새로 만드시는 건지... 아래는 제가 사용하는 코드 조각입니다. $config['uri_segment'] = 3; $config['page_query_string'] = FALSE; $config['use_page_numbers'] = TRUE; 이렇게 기본 설정되어 있고요. public function index($page_index = 1) { $per_page = 10; $cnt = 0; $categories = $this->board_category_model->paginated($page_index, $per_page, $cnt); $root_id = (int)$this->board_category_model->getRoot()['id']; $page_config = array(); $page_config['base_url'] = ROOT_PATH.'/'.$this->category_controller.'/index/'; $page_config['per_page'] = $per_page; $page_config['total_rows'] = $cnt; $this->pagination->initialize($page_config, $page_index); $data = Array( 'head_data' => Array( 'title' => 'Category list', ), 'view_data' => Array( 'root_id' => $root_id, 'categories' => $categories, 'pageLinks' => $this->pagination->create_links(), ), ); $this->render_page('/index', $data); } |
kaido
/
2014/09/22 20:32:43 /
추천
0
$per_page = 1;
1로 만들어 놓고 모델에서 $page * $list_size 이렇게 곱해버립니다. 가장 간단한 방법. 따란! |
$config['page_query_string'] = TRUE