제목 | 페이지네이션 다시 질문 있습니다. | ||
---|---|---|---|
글쓴이 | 과학나라 | 작성시각 | 2013/09/11 17:32:21 |
|
|||
우선 답편 감사합니다. 공개 소스를 봐도 이해가 안되서 이렇게 글을 남깁니다. 리미트를 걸어주라고 말씀해주셨는데.. ======================================================================= $this->load->model('simplebbsmodel');
$limit = 10;
$this->load->library('pagination');
$config['base_url'] = 'http://devtest.domain21.org/welcome/bbslist';
$config['total_rows'] = 21;
$config['per_page'] = $limit;
$config['num_links'] = 10;
$this->pagination->initialize($config);
$data['paging'] = $this->pagination->create_links();
// 모델 - 쿼리
$data['result'] = $this->simplebbsmodel->get_list($config); //리스트 가져오기
$this->load->view('welcome_message',$data);
======================================================= 이렇게 하면되는 건가요 model부분 ===================================================== function get_list($config)
{
$query = $this->db->get('board');
return $query->result();
}==================================
세그먼트로 해서 리미트 하시라는 말씀인데 어떻게 해야할지.. 일단 페이지 자체는 나오는데. 문제는 한페이지당 10개의 글을 원하는데 전체 글이 뜹니다. 2페이지 가도 3페이지 가도 어떻게 해야할지 모르겠습니다. 부탁드립니다. 어떻게 해야하죠. |
|||
다음글 | CSRF / AJAX / IE (2) | ||
이전글 | windows 2012, IIS 8.0 php 5.5.... (2) | ||
수야디벨
/
2013/09/11 17:42:25 /
추천
0
|
과학나라
/
2013/09/11 18:01:40 /
추천
0
감사합니다 ㅠ,ㅠ 이것였군요 ㅠ,ㅠ 원하는 게시글만큼 나옵니다 ㅠ,ㅠ
문제는 2페이지 넘어가면 1페이지랑 똑같은 게시글이 나오네요. 이럴한 경우 아까도 말씀하시다싶이 세그먼트를 안줘서 그런가요? |
수야디벨
/
2013/09/11 19:03:47 /
추천
0
지금 설정을 $limit = 10; 이라고 해 놓으셨는데,
저렇게 limit가 10으로 고정되어 있으면 항상 같은 게시물이 나와요. 페이지 네비게이션을 달아 놓으셨다면 2페이지를 클릭하면 URL형식의 맨 마지막에 $config['per_page'] = $limit; 의 수만큼. 즉 위 소스 기준으로 $limit가 10이니까 , URL형식의 맨 마지막이 /10 이런식으로 붙을꺼에요. 2페이지는 /10 3페이지는 /20 4페이지는 /30 각 페이지마다 다르게 붙는 저 숫자를 이용해서 DB에 LIMIT를 걸어 가져와야 합니다. 좀 더 자세한 설명은 uri 메뉴얼을 참고하세요. http://cikorea.net/user_guide_2.1.0/libraries/uri.html |
과학나라
/
2013/09/11 19:07:34 /
추천
0
$page = 2; // 모델 - 호출 $this->load->model('simplebbsmodel'); $this->load->library('pagination'); $config['base_url'] = 'http://devtest.domain21.org/welcome/bbslist'; $config['total_rows'] = 21; $config['per_page'] = 10; $config['num_links'] = 10; $offset = ($page - 1) * $config['per_page']; $this->pagination->initialize($config); $data['paging'] = $this->pagination->create_links(); // 모델 - 쿼리 $data['result'] = $this->simplebbsmodel->get_list($config,$offset); |
과학나라
/
2013/09/11 19:08:06 /
추천
0
function get_list($config,$offset) { $query = $this->db->get('board',10,$offset); return $query->result(); } |
과학나라
/
2013/09/11 19:09:42 /
추천
0
네 일단 말씀하신것처럼 config['per_page'] 10이면 page숫자에 따라 페이지 보여지게 하는건데요
문제는 page가 그에 맞게 숫자를 불려와줘야 하는데 안되네요 ㅠ,ㅠ 0~10까지가 1page나오게 하고 11~20까지가 2page나오게 하고.. |
키
/
2013/09/11 23:36:46 /
추천
0
$page = 2 로 픽스해두셨는데
이건 2페이지가 제대로 나오기 위해서 테스트를 위해 작성해두신 것 인가요?
last_query나 프로파일링 옵션을 켜신 이후에
원하시는 쿼리라 정상적으로 수행이 된 것인지 확인해보시는게 좋을 것 같습니다.
그리고 위 소스중에서는 2군데 정도 수정을 해주셔야 할 것 같은데
$data['result'] = $this->simplebbsmodel->get_list($config,$offset); 는
$data['result'] = $this->simplebbsmodel->get_list($config['per_page'],$offset); 로
function get_list($config,$offset) { $query = $this->db->get('board',10,$offset); return $query->result(); } 는
function get_list($limit,$offset) { $query = $this->db->get('board',$limit,$offset); return $query->result(); } 이런식으로 작성해주시는게 나중에 페이지당 보여질 갯수를 지정할때
설정값에 따라 유동적으로 바뀌게 됩니다.
|
데이터 베이스 액티브 레코드 메뉴얼 http://cikorea.net/user_guide_2.1.0/database/active_record.html 에 보시면
$query = $this->db->get('board'); 이게 어떤 기능을 한다고 나와 있나요?
DB의 전체 값을 가져온다고 되어 있나요~ 아니면 LIMIT해서 가져온다고 되어있나요?
우선 확인부터 해보세요