=========정의예를들면=========
총개수 : 21개 표시할 글의수 : 10개 페이지수 : 10개(한 화면에 표시할 페이지 번호수)
전체글 : List list에 담는다
=============================
====전체글에서 10개의 페이지를 가지고 오는 쿼리====
SELECT * FROM (SELECT * from BOARD_JSP07_PIPE0502 order by no desc) WHERE ROWNUM<=10;
바꿔서 하자면
SELECT * FROM (SELECT * FROM BOARD_JSP07_PIPE0502 ORDER BY NO DESC) WHERE ROWNUM BETWEEN START AND END
변경이 가능하다
====시작글 구하는 공식====
시작글 = (현재페이지-1) * 표시할글의수
start = (currentpage-1) * numPerPage
예)
현재페이지 : 5페이지
(5-1)*10 = 40
1 페이지 : 1 10
2 페이지 : 11 20
3 페이지 : 21 30
4 페이지 : 31 40
5 페이지 : 41 50
========================
==== 끝글 구하는 공식====
끝글 = 현재페이지 * 표시할글의수
end = currentpage * numPerPage
예)
현재페이지 : 5페이지
5*10 = 50(마지막 글일수도 있고 아닐수도 있다)
========================
list.size()%5!=5이면 몫과 나머지를 더한것이 페이지수 totalpage
list.size()%5==5이면 몫이 페이지수 totalpage
총 134개
134 / 10 = 13 ..... 4 ===> 총 14페이지가 결과물
totalPage = listCount / 10 + listCount % 10
1블럭당 10페이지를 보여준다
여기서 1블럭은 화면상에 1|2|3|4|5|6|7|8|9|10을 말한다
결과물 / 10 = 1 ..... 4 ===> 총 2블럭의 결과물이 나온다
totalBlock = totalPage / numPerBlock + totalPage % numPerBlock
리스트의 총 개수 / 10(표시할글의수)