본문 바로가기

카테고리 없음

페이징 예

728x90

SQL : board.count

SELECT COUNT(*) AS COUNT FROM TBOARD


SQL : board.list

page : 현재 페이지

numPerPage : 한 페이지에 게시물 수 -> 5

SELECT BNO, MID, TITLE, WRITER, HIT, WDATE
		from (select A.*,FLOOR((ROWNUM - 1)/#numPerPage# + 1) AS page, rownum
              from (
                     select * from TBOARD order by bno desc
                     ) A
               )
       where page = #page#
번호 제목
2
3
4
5
[이전] [1] [2] [3] [다음]

page : 현재 페이지
block : [1] [2] [3] 부분 갯수 지정 -> 3
perPage : 한 페이지에 게시물 수 -> 5
totalRecord : 전체 게시물 수
url : 게시판 주소

lastPage : 마지막 페이지

함수 사용
String paging = dao.getPaging(Integer.parseInt(page), 3, 5, totalRecord, "boardList.do");
함수 정의
public String getPaging(int page, int block, int perPage, int totalRecord, String url) {

	String paging = "";
	
	int lastPage = (totalRecord - 1) / perPage + 1;
	
	int start = ((page - 1) / block) * block  + 1;


	int back = start - block;
	
	if (back >= 1) {
		paging += "  [ 이전 ]  ";
	}
	
	for (int i = 0; i < block && start + i <= lastblock; i++) {
		
		if (start + i == page) {
			paging += " [ " + (start + i) + " ] ";

		} else {
			paging += " [  " + (start + i) + "  ] ";

		}			
	}
	
	int next = start + block;
	
	if (next <= lastPage) {
		paging += " [ 다음 ] ";
	}
	
	return paging;
}


728x90