오라클에서 받아온 DB로 페이징하는 방법 문의드립니다.

오라클에서 받아온 DB로 페이징하는 방법 문의드립니다.

QA

오라클에서 받아온 DB로 페이징하는 방법 문의드립니다.

본문

선배님들 늘 고생 많으십니다 !

다름이아니라 한가지 여쭤보고싶은 부분이 있어서 이렇게 질문글을 남깁니다.

 

 

현재 저는 오라클에서 정보를 받아와 for문을 사용해 상품을 뿌리는데

갯수가 한 300여가지가 됩니다 ! ( 앞으로 더 많아질 예정이구요 ! )

(그리고 그누보드, 영카트 등에서 기본 제공하는 상품은 사용하지 않는 상황입니다 !)

 

 

이럴 경우 한 페이지 내에서 갯수만큼 아래로 쭈~욱 나열되는데

 

[이전] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음]

 

위 처럼 페이지를 나누어 페이지에서도 상품이 10개씩만 보이게 만들고 싶습니다 !

 

근데 아무리 검색을 해봐도 개념이 잡히질 않아서요 ㅜ

 

혹시 가르쳐주실 선배님 계실까요 ㅜ ㅜ

이 질문에 댓글 쓰기 :

답변 3

질문의 요지가 잘 이해가 가지 않습니다. 오라클을 사용 하신다는거 보니 영카트를 사용 하시는것 같지는 않고 게시물 페이징은 전체 게시물 숫자 / 페이지 출력하고 싶은 숫자로 나눠서 페이지나누고 쿼리문을 limit,offset 으로 페이지 처리 해주면 될텐데요 

아 오라클이니 limit 쿼리 문은 없겠네요 ROWNUM 으로 하셔야 겠네요

답변 감사드립니다 !

현재 저는 영카트 redshop 테마를 기반으로 작업 중이구요 !
도서 관리하는 사이트를 제작 중인데,

오라클에 정리되어있는 도서 정보들을 가져와 페이지로 뿌렸습니다만,
갯수 만큼 아래로 쭈~~욱 나열이 되어 끝도 없이 스크롤을 내려야 하는 상황입니다.

아예 10개로 끊어서 올리고 싶으면 쿼리문을 10개씩 나오게끔 수정해주면 되는건가요 ?

그럼 이후에 나오는 친구들은 [1] [2] [3] 처럼 2페이지로 갔을 때
나오게끔도 구현이 가능한건가요 ?

초보자라 개념이 잘 안잡히네요 ㅜ ㅜ

데이터를 어떤 포멧으로 받는지는 모르지만 데이터를 배열로 가공해서 배열을 페이징 할 수 있습니다.

http://chongmoa.com/php/57668

참고하세요.

 

답변 감사드립니다 !


데이터를 가져오는 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";



남겨주신 링크의 내용에 위 쿼리문을 적용하는 방법을 여쭤봐도 될까요 ?

오라클 쿼리라면 rownum을 사용하는게 맞구요

 

http://kimtu89.github.io/oraclerownum/

를 참고하셔서

 

주의행할 사항인

where절과 order by 의 불변규칙을 잘 적용하셔야

 

rownum >= 1 and rownum <= 15 

와 같은 규칙이 정상적으로 적용됩니다.

rownum을 사용할때 테이블의 Alias (이미 위의 쿼리를 보면 사용하셨네요)를 잊지마시고

 

그외의 규칙이

mysql 의 limit와 좀 다르지만 유사하게 구현가능할겁니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,658 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT