CI 묻고 답하기

제목 초보 개발자 질문합니다. pagination 관련
카테고리 CI 2, 3
글쓴이 낭만집사 작성시각 2019/02/22 16:02:11
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 17867   RSS

날코딩에서 벗어나 codeigniter를 배우고 있는 초보 개발자입니다.

다름이 아니라,

Pagination library 사용해서 게시판 만들고 있습니다.

 

게시판에서 검색 후 페이지이동하면 검색한 keyword가 날아가, 제대로 된 리스트가 나오지 않습니다.

 

어떻게 해야하나요???

 다음글 _remap() 위치 문의 (5)
 이전글 안녕하세요. 로그아웃 현상에 대해 문의 드립니다. (3)

댓글

변종원(웅파) / 2019/02/22 16:08:57 / 추천 0

주소에 넣어서 이동시켰으면 그 부분까지 페이징 변수중 주소 선언하는 부분에 선언해줘야 합니다.

어떻게 검색을 처리하는지 소스가 없어서 현 상태에서 드릴 답변은 이정도입니다.

검색어를 쿼리스트링으로 넘겼다면 $config[‘reuse_query_string’] = FALSE; 이 부분을 true 로 해줄 경우 검색어까지 자동으로 넘길 수 있습니다.

배강민 / 2019/02/22 16:33:27 / 추천 0

CI 2.* : 해당 기능이 없어서 수동으로 추가해줘야 히고

https://www.cikorea.net/user_guide_2.1.0/libraries/pagination.html

 

CI 3.* : 웅파님 코멘트와 같이, reuse_query_string을 true하면 자동으로 붙게 되었고

http://www.ciboard.co.kr/user_guide/kr/libraries/pagination.html

 

CI 4.* : 아직 릴리즈 전이지만, 기본이 자동으로 파라미터가 붙고 특정만 골라서 붙이는 방법이 별도로 존재합니다.

https://codeigniter4.github.io/CodeIgniter4/libraries/pagination.html

낭만집사 / 2019/02/22 18:12:36 / 추천 0

쿼리스트링으로 넘기고 

$config['reuse_query_string'] = true;

설정 바꿨습니다.

페이징 하고 검색하면 해당페이지로 검색값 살아있습니다.

그런데 이후 페이지 누르면 검색값이 여전히 날아갑니다....

 

$this->load->library('form_validation');        //전송 받은 데이터의 유효성 검사
$this->form_validation->set_rules('searchCnd', '검색조건', 'required');
$this->form_validation->set_rules('searchKrwd', '검색어');

$keyCnd = $this->input->get('searchCnd');
$keyKrwd = $this->input->get('searchKrwd');
$this->load->library('pagination_custom');
$page = $this->uri->segment(3);
$pagelist = 10;
$search = "w_times";
$search2 = $keyKrwd;
$this->load->model('board_model');
$db_data = $this->lotto_model->list_number($page, $pagelist, $search, $search2);
$this->segs = $this->uri->segment_array();
$link_url = "/" . $this->segs[1] . "/" . $this->segs[2] . "/";

$total_count = $db_data['total_cnt'];
$config = $this->pagination_custom->pagenation_b($page, $total_count, $pagelist, $link_url, $segment = 3, $num_link = 3);
$this->pagination_custom->initialize($config);
if ($page > 1) {
    $page_list_count = $total_count - ($pagelist * ($page - 1));
} else {
    $page_list_count = $total_count - ($pagelist * $page);
}
$data['lists'] = $db_data['page_list_m'];
$data['page_nation'] = $this->pagination_custom->create_links();
$data['total_cnt'] = $page_list_count;
변종원(웅파) / 2019/02/23 11:53:01 / 추천 0
페이징 라이브러리가 순정상태가 아닌것 같네요