[페이징][국비교육] Day 77

Ga02·2023년 4월 19일

국비교육

목록 보기
71/82

🔍 페이징 처리

➰ 페이징 처리에 필요한 데이터

  • curPage : 브라우저에서 선택한 현재 페이지 번호 👉🏻 전달파라미터로 전달됨
  • totalCount : 총 게시글 수 👉🏻 DB에서 조회
    ✔ 검색, 필터링 처리했을 때 총 게시글 수 변화를 고려해야 함
  • listCount : 한 페이지당 보여질 게시글 수 👉🏻 개발자가 직접 설정할 수 있도록 함
  • totalPage : 총 페이지의 수 👉🏻 계산으로 알아내기
totalPage = totalCount / listCount;
if(totalCount % listCount > 0) totalPage++;

//보정 작업
if(curPage > totalPage) curPage = totalPage;
  • pageCount : 한 화면에 보여질 페이지네이션의 개수 👉🏻 개발자가 직접 설정할 수 있도록 함
  • startPage : 화면에 보이는 페이지네이션의 시작 번호 👉🏻 계산으로 알아내기
  • endPage : 화면에 보이는 페이지네이션의 끝 번호 👉🏻 계산으로 알아내기
startPage = curPage - 5;
endPage = curPage + 4;

//방법1. 현재 페이지를 기준으로 이전 5개, 이후 4개 보여주기
if(startPage < 1) atartPage = 1;
if(endPage > totalPage) endPage = totalPage;

//방법2. pageCount 수만큼 그룹핑해서 보여주기
startPage = ((curPage-1)/pageCount)*pageCount + 1; ➡ 나누어떨어지는 경우를 생각해서 (curPage-1)가 필요
endPage = startPage + pageCount -1;
if(endPage > totalPage) endPage = totalPage;
  • startNo : 화면에 보여지는 게시글의 시작 번호 👉🏻 계산으로 알아내기
startNo = (curPage-1) * listCount + 1;
  • endNo : 화면에 보여지는 게시글의 끝 번호 👉🏻 계산으로 알아내기
emdNo = curPage * listCount;

https://blog.naver.com/solsol7213/222803585406

profile
IT꿈나무 댓츠미

0개의 댓글