제목 | 페이지네이션 질문입니다. | ||
---|---|---|---|
글쓴이 | 코드원 | 작성시각 | 2012/05/23 16:26:36 |
|
|||
모델에서 조인한 결과물의 쿼리 결과 레코드 수를 어떻게 표현하는지요? 모델에서 $q = "select * from table LEFT JOIN A ON A.id = table.id" $query = $this->db->query($q); return $query -> result();그리고 컨트롤러에서 $data = array(); if($query = $this->board_model->getBySel()){ $data['records'] = $query; } $config['base_url'] = "/board/page"; $config["total_rows"] = 여기에서 어떻게 표현을 해야하는지; $config["num_links"] = 10; $config["per_page"] = 20; $config["query_string_segment"] = 'page'; $this->pagination->initialize($config); $data["total_rows"] = $config["total_rows"]; $data["pagination"] = $this->pagination->create_links();따로 메소드를 만들어서 호출해야 하나요? 아이고...참... 고수님들 알려주세요!! |
|||
다음글 | view의 정적페이지 접근 질문드려요 (4) | ||
이전글 | 웅파님~~~ 마지막 하나 남았습니다.. 부탁드려요~~ (8) | ||
변종원(웅파)
/
2012/05/23 16:50:23 /
추천
0
|
배강민
/
2012/05/23 17:07:35 /
추천
0
추가로 말씀드리자면...
페이징을 하려고 하시는듯한데.. limit 걸어서 한 페이지의 건들만 가져오므로 그 결과에 대해서 num_rows하면 펭이징을 위한 전체 rows는 당연히 가져올 수 없고요 limit없는 전체 rows 갯수를 따로 가져와야합니다. 뭐.. 아니면 쿼리 한방에 전체 rows와 페이징을 위한 부분만 같이 가져올수도 있기도할겁니다.. 쿼리 좀 만지작거리면. 해보진 안했지만요..ㅋ 하지만, 다들 아시겠지만 limit만 없애서 가져오고 num_rows를 하면 느릴 수 밖에 없습니다. 일단 전부 불러오고서 갯수를 세는거니.. count() 를 이용한 전체갯수용 쿼리 따로 날려서 빠르게 총 갯수를 가져오도록 하는 것을 추천합니다.. 물론 이래하면 쿼리 조건절을 바꾸거나 하면 두군데를 수정해야할 수도 있지만, 웅파님 말씀따라 함수 하나에서 요래조래 조합하면 그러지 않아도 될듯하고요.. 개인적으로는 쿼리를 너무 조합형으로 하는거 싫어서 전 따로 하지만용..ㅋ 질문하신 " 모델에서 조인한 결과물의 쿼리 결과 레코드 수를 어떻게 표현하는지요? " 딱 이것만이라면 num_rows를 하거나 그냥 php의 count() 해도 되겠죵.. |
따로 만들어도 되고 하나의 함수에서 변수에 따라 전체값을 가져오도록 처리해도 됩니다.