제목 | 페이징 처리 쿼리를 액티브레코드로 오라클 DB를 select 하고있습니다. | ||
---|---|---|---|
글쓴이 | 짜이짜이 | 작성시각 | 2015/08/12 21:53:58 |
|
|||
CI에서 제공하는 페이지네이션을 사용중이구요. 한 블로그에서 오라클에서 rownum으로 페이징처리를 하는 쿼리를 긁어와 오라클 SQL DEVELOPER에서 돌려보니 돌아가네요. --블로그 쿼리 -- $q = "SELECT * FROM ( SELECT A.*, ROWNUM AS RNUM, FLOOR((ROWNUM-'1')/'10'+'1') AS PAGE, COUNT(*) OVER() AS TOTCNT FROM ( select * from T_NOTICE order by F_CONTENT_NUM ) A ) WHERE PAGE = '".(int)$page_num."' ------- 이 쿼리를 사용하니 테이블을 찾을 수 없다고 하여 페이징 처리 하기 전 본래의 게시글 리스트를 받아오는 select 쿼리(액티브레코드)에 간단하게 rownum을 사용하여 첫번째 페이지의 리스트를 받아오려고 했습니다. --본래의 리스트 select 쿼리 -- $this->db->select('*'); $this->db->from('T_NOTICE'); $this->db->order_by('F_CONTENT_NUM','desc'); if($f_where && $f_inputTxt) $this->db->like($f_where, $f_inputTxt); $this->db->where('rownum','10'); ---- 서두가 길었네요 ㅠㅠ 본래의 질문은 where rownum <= 10 이 where절을 사용하고 싶은데 액티브레코드에서 어떻게 표현할 수 있을까요? |
|||
다음글 | form_validation 함수를 오버라이드 할 수 ... (1) | ||
이전글 | 기존 php에서 사용하던 함수를 ci에서 그대로 호출해... (5) | ||
kaido
/
2015/08/13 09:11:32 /
추천
0
|
짜이짜이
/
2015/08/13 10:17:49 /
추천
0
카이도님 쓸데없이 긴 글 읽어주셔서 감사합니다.
페이지네이션 강의 동영상 잘 봤습니다. |
서두는 길게 보았습니다만 답은 간단하게 달았습니다.
여러조건을 넣으실 때는
$array = array('name !=' => $name, 'id <' => $id, 'date >' => $date);
$this->db->where($array);