본문 바로가기
개발자 양성과정 필기노트/개인 프로젝트

게시판 글의 개수에 따라 페이지를 나누기

by jono 2021. 11. 5.

한 페이지에 띄울 글의 개수가 10개이고 전체 글의 개수가 35개라면,

1페이지-> 35 ~ 26

2페이지-> 25 ~16

3페이지-> 15 ~ 6

4페이지-> 5 ~ 1 

를 띄우는 식이다. 

알고리즘은 어렵다

<div id="page_control">
<%
	//한 페이지에 띄울 페이지 10개로 설정
	int pageBlock = 10;
	
	//시작 페이지 번호,끝나는 페이지 번호
	int startPage = (currentPage-1)/pageBlock*pageBlock+1;
	int endPage = startPage+pageBlock-1;
	
	//전체 글 페이지 수 구하기
	int pageCount=count/pageSize+(count%pageSize==0?0:1);
	if(endPage >  pageCount){
	//	끝나는페이지번호 =  전체글페이지수
		endPage=pageCount;
	}
	
	if(startPage > pageBlock){
		%>
		<a href="share.jsp?pageNum=<%=startPage-pageBlock%>">[Prev]</a>
		<%
	}
	for(int i=startPage;i<=endPage;i++){
		%>
		<a href="share.jsp?pageNum=<%=i%>"><%=i %></a>
		<%
	}
	if(endPage < pageCount){
		%>
		<a href="share.jsp?pageNum=<%=startPage+pageBlock%>">[Next]</a>
		<%
	}
%>
</div>

댓글