90.개발관련문서2009. 2. 26. 12:14
반응형

=========정의예를들면=========
  총개수 : 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(표시할글의수)

Posted by 1010