자바(Java)/JAVA 2EE

게시판 페이지 알고리즘

본클라쓰 2009. 10. 10. 10:45

수도 코드

전체 게시물수= 디비에서 전체 게시물 수를 가져옴

현재 페이지값 = 페이지값이 있다면 저장, 없다면 0

페이지당 게시물수 = 10;

페이지를 표시할 블럭수 = 10;


만약 ( 전체 게시물수가 0보다 크다면 ) {


    전체 페이지수 = 전체 게시물수 / 페이지당 게시물수 + ( 전체 게시물수 %페이지당 게시물 == 0 : 0 ?1)

    시작 페이지 = (현재페이지/10) * 10 + 1;

    끝 페이지 = 시작페이지 + 페이지를 표시할 블럭수 -1;


    만약 ( 끝 페이지 > 전체 페이지수) 끝 페이지 = 전체 페이지


}





int articleCount = 디비에서 가지고 옴;  // 전체 게시물 수

int currentPage = 현재 페이지값을 가지고 옴;     // 없다면 0페이지

int pageCount;    // 전체페이지

int pageSize = 10;    // 페이지당 게시물 수

int pageBlock = 10;   // 페이지를 표시할 수

int startPage, endPage;


if( articlecount > 0 ) {


    pageCount = articleCount / pageSize + ( articleCount % pageSize == 0 ? 0 : 1 );

    startPage = (int)(currentPage/10) * 10 + 1;

    endPage = startPage + pageBlock -1;


    if( endPage > pageCount ) { endPage = pageCount; }


    for ( int i = startPage; i <= endPage; i++) {

        i;

    }

}