오라클에서 받아온 DB로 페이징하는 방법 문의드립니다. 채택완료
선배님들 늘 고생 많으십니다 !
다름이아니라 한가지 여쭤보고싶은 부분이 있어서 이렇게 질문글을 남깁니다.
현재 저는 오라클에서 정보를 받아와 for문을 사용해 상품을 뿌리는데
갯수가 한 300여가지가 됩니다 ! ( 앞으로 더 많아질 예정이구요 ! )
(그리고 그누보드, 영카트 등에서 기본 제공하는 상품은 사용하지 않는 상황입니다 !)
이럴 경우 한 페이지 내에서 갯수만큼 아래로 쭈~욱 나열되는데
[이전] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음]
위 처럼 페이지를 나누어 페이지에서도 상품이 10개씩만 보이게 만들고 싶습니다 !
근데 아무리 검색을 해봐도 개념이 잡히질 않아서요 ㅜ
혹시 가르쳐주실 선배님 계실까요 ㅜ ㅜ
답변 3개
질문의 요지가 잘 이해가 가지 않습니다. 오라클을 사용 하신다는거 보니 영카트를 사용 하시는것 같지는 않고 게시물 페이징은 전체 게시물 숫자 / 페이지 출력하고 싶은 숫자로 나눠서 페이지나누고 쿼리문을 limit,offset 으로 페이지 처리 해주면 될텐데요
아 오라클이니 limit 쿼리 문은 없겠네요 ROWNUM 으로 하셔야 겠네요
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
오라클 쿼리라면 rownum을 사용하는게 맞구요
http://kimtu89.github.io/oraclerownum/
를 참고하셔서
주의행할 사항인
where절과 order by 의 불변규칙을 잘 적용하셔야
rownum >= 1 and rownum <= 15
와 같은 규칙이 정상적으로 적용됩니다.
rownum을 사용할때 테이블의 Alias (이미 위의 쿼리를 보면 사용하셨네요)를 잊지마시고
그외의 규칙이
mysql 의 limit와 좀 다르지만 유사하게 구현가능할겁니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
데이터를 가져오는 sql 문은 아래의 내용을 사용합니다 !
$sql = "select b.img_url, b.bk_nm, b.writer, b.pub_nm, b.out_danga, DECODE(NVL(DSC_AMT,0), 0, OUT_DANGA, DSC_AMT) DSC_AMT, NVL(DSC_RATE,0) DSC_RATE, b.bk_intro1 from shop_catlst a, bookcd b where a.div_gb = 3 and a.bk_part = '1100' and a.bk_cd = b.bk_cd";
남겨주신 링크의 내용에 위 쿼리문을 적용하는 방법을 여쭤봐도 될까요 ?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
현재 저는 영카트 redshop 테마를 기반으로 작업 중이구요 !
도서 관리하는 사이트를 제작 중인데,
오라클에 정리되어있는 도서 정보들을 가져와 페이지로 뿌렸습니다만,
갯수 만큼 아래로 쭈~~욱 나열이 되어 끝도 없이 스크롤을 내려야 하는 상황입니다.
아예 10개로 끊어서 올리고 싶으면 쿼리문을 10개씩 나오게끔 수정해주면 되는건가요 ?
그럼 이후에 나오는 친구들은 [1] [2] [3] 처럼 2페이지로 갔을 때
나오게끔도 구현이 가능한건가요 ?
초보자라 개념이 잘 안잡히네요 ㅜ ㅜ