디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

jsp페이징 질문 ㅠㅠ

you&i(118.34) 2014.03.22 16:43:02
조회 384 추천 0 댓글 0

이 페이징 소스를 참고 해서 페이징을 만드는 중인데요...

데이터베이스에 있는 게시물의 고유번호가 auto_icrement 라서 1부터 자동증가가 되는데요

문제는 게시물이 삭제되면 그 번호는 영영 사라집니다.. 무슨말인지?아시죠?

[ 만약 게시물이 1,2,3,4,5,6 총 6개의 게시물이 있었는데 3번 게시물을 삭제하면 1,2,4,5,6 이렇게 빵구 납니다. ]

그래서 start 와 end 를 저렇게 계산하면 심각한 오류가 날 것 같은데.. 무슨 방법이 없을까요?

 

도와주십쇼 고수님들 복습하실겸 재미로 소스분석해보실겸 ... 부탁드립니다. 

 

<mark> 

 

///////////////////////////////////////////////////////////////////////////////////

 <%@page c %>
<html>
 <head>
  <%
   request.setCharacterEncoding("euc-kr");
   int totalRecord=Integer.parseInt(request.getParameter("totalRecord"));
   
   int numPerPage = 10; // 한페이지에 레코드 수
   int pagePerBlock = 15; // 한 페이징 블럭 당 보여줄 갯수
   int totalPage = 0;  // 전체 페이지 수

   int totalBlock = 0; // 전체 블럭
   int nowPage = 1; // 현재 페이지
   int nowBlock = 1; // 현재 블럭
   
   int start = 0; // 데이터베이스의 셀렉트문 첫시작 넘버
   int end = 10; // 셀렉트문 몇개만 rs.next(); 해서 가져올지..

   int listSize = 0; // 현재 읽어온 레코드 수

   if(request.getParameter("nowPage") != null){
    nowPage = Integer.parseInt(request.getParameter("nowPage"));
   }

   start = (nowPage * numPerPage) - numPerPage; //

   end = start + numPerPage ; //

   totalPage = (int)Math.ceil((double)totalRecord/numPerPage); // 전체 페이지 수

   nowBlock = (int)Math.ceil((double)nowPage/pagePerBlock); // 현재블럭 계산

   totalBlock = (int)Math.ceil((double)totalPage/pagePerBlock); // 전체블럭

   // 현재까지 초기화 해줘야 할 것들

  %>
  <title>테스트..</title>
  <script type="text/javascript">
  
   function pageing(page){
    document.readFrm.nowPage.value = page;
    document.readFrm.submit();
   }
   function block(value){
    document.readFrm.nowPage.value=<%= pagePerBlock %> * (value-1)+1;
    document.readFrm.submit();
   }
  
  </script>

 </head>
 <body style="background-color:#ddd">
  
  <div align="center">
   <br/>
      <h2>페이징 & 블록 처리 테스트</h2>
   <br/>
   
   <table align="center" border="0" width="80%">
    <tr align="center">
     <td>
      Total : <%=totalRecord%>Articles(<font color="red"><%=nowPage%>/<%=totalPage%>Pages</font>)
     </td>
    </tr>
   </table>
   
   <table>

    <tr>
     <td>게시물 번호 :  </td>
     <%
      listSize = totalRecord-start;
      
      for(int i = 0; i<numPerPage; i++){
       if(i==listSize) break;
       
     %>
     <td align="center">
      
      <%= totalRecord - ((nowPage-1)*numPerPage) - i %> 

     </td>
     
     <%}%>
     

     <td align="center"> </td>

    </tr>

   </table>
   
   <!-- 페이징 및 블럭  -->
   <table>
    
    <tr>
     <td>
      <!-- 페이징 및 블럭 처리 start -->
      <%
       int pageStart = (nowBlock-1)*pagePerBlock + 1; // 하단 페이지 시작번호
       int pageEnd = ((pageStart+pagePerBlock)<totalPage) ? (pageStart+pagePerBlock) : totalPage + 1; // 하단 페이지 끝 번호
       
       if(totalPage != 0){
        if(nowBlock > 1){%>
      <a href="javascript_:block('<%=nowBlock-1%>')">prev...</a><%}%> 
      <%for ( ; pageStart<pageEnd;pageStart++){ %>
      <a href="javascript_:pageing('<%=pageStart %>')">
      <%if(pageStart==nowPage) {%><font color="blue"> <%}%>
      
       
       [<%=pageStart %>]
       <%if(pageStart==nowPage){ %></font> <%}%></a>
       <%}//for %> 
       <%if (totalBlock>nowBlock) {%>
       <a href="javascript_:block('<%=nowBlock+1 %>')">...next</a>
       
       <%}%> 
       <%}%>
       
       
       <!-- 페이징 및 블럭 처리 End --> 
      
     </td>  
    </tr>
   </table>
   
   <hr width="45%" />
   <form name="readFrm">
    <input type="hidden" name="totalRecord" value="<%=totalRecord%>">
     <input type="hidden" name="nowPage" value="<%=nowPage%>">
   </form>
    <b>
    <span style="color:#ff6c70">전체 게시글 수</span> : <%=totalRecord %> 
    <span style="color:#ff6c70">페이지 당 게시글 수</span>: <%=numPerPage %> 
    <span style="color:#ff6c70">페이지 당 보여줄 블럭 수</span> : <%=pagePerBlock %> 
    <span style="color:#ff6c70">총 페이지 갯수</span> : <%=totalPage %> <br>
    <span style="color:#ff6c70">총 블럭 수</span> : <%=totalBlock %> 
    <span style="color:#ff6c70">현재 페이지</span> : <%=nowPage %> 
    <span style="color:#ff6c70">현재 블럭</span> : <%=nowBlock %> 
    </b>
    <p/>
    <input type="button" value="TotalRecord 입력 폼" >
   
  
  </div>
 </body>
</html>

 

</mark>

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
AD 휴대폰 액세서리 세일 중임! 운영자 25/07/28 - -
414401 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ쓰레기 [2] 김주랑(175.206) 14.03.25 74 0
414400 LED투광기 대해서 이득보며 알기 ㅇㅇ(210.181) 14.03.25 78 0
414399 이거 오류좀 긁어주세요 [11] ㅁㄴㅇㄴㅁㅇ(211.255) 14.03.25 110 0
414398 오랜만에 던킨 크렌베리스콘먹음 김태우(49.254) 14.03.25 77 0
414396 인민에어3 주문했다! [2] ㅇㅇ(58.237) 14.03.25 126 0
414395 http://sline.net/ 심심하신 잉여들아 채팅방와라 ㅄㅅ(60.253) 14.03.25 52 0
414394 그냥 코드좀 짜주세여 행님들 [3] ㅁㄴㅇㅁㄴ(211.255) 14.03.25 83 0
414393 2D게임만들려고하는데 [3] 2d게이(110.44) 14.03.25 149 0
414392 c언어 기초인데 저점 도와주세여 행님들 [14] asdsad(211.255) 14.03.25 176 0
414391 파바에도 스콘팜??? 천상지희(49.254) 14.03.25 92 0
414390 왜 dc엔 댓글에 댓글다는 기능이 없냐? [3] ct(175.206) 14.03.25 82 0
414389 내가 쓰는프로그램들 다 뿌린다 이 쓰레기들아!! [7] 김주랑(175.206) 14.03.25 154 0
414385 빵통령이 복귀하였다 감기걸린걸(121.126) 14.03.25 55 0
414384 c언어다음 뭐해야되냐 [4] 왕찬이(222.251) 14.03.25 149 0
414382 블루투스 pc to phone 가능한 파일입니다!! baro(210.107) 14.03.25 72 0
414381 형들 아까 고마워... 하지만... 이부분은 어디서 끊어서 읽어야... [7] 슴시카갤로그로 이동합니다. 14.03.25 140 0
414380 유니티 2D에 관한 질문좀.. [4] 그려(110.44) 14.03.25 163 0
414379 형들 우분투에서 디렉터리나 파일의 사용권한 인데... 질문좀요... [5] 슴시카갤로그로 이동합니다. 14.03.25 126 0
414378 이번에 소규모 게임회사에 들어가려는데(이하 본문) [3] 말성애자(175.210) 14.03.25 185 0
414377 진리의 치즈케익 한효주(49.254) 14.03.25 45 0
414376 유닉스는 구시대적 os인데 과연 사라질까? [11] 리유닉스(121.147) 14.03.25 296 0
414375 프로그래밍 없이 돌아가는 산업이 있나요? [3] 필수(58.225) 14.03.25 104 0
414374 %d로 0000 출력하는방법좀 [11] SpadO갤로그로 이동합니다. 14.03.25 117 0
414373 c언어 다음뭐공부해야되냐 [2] 왕찬이(222.251) 14.03.25 115 0
414372 형들......자바 진짜 초보잔데.. [1] 자바초보자(122.254) 14.03.25 113 0
414371 코딩하다 피곤하면 ksy(124.153) 14.03.25 62 0
414370 인천/서울 엑셀로 통계자료 만드는거 과외해주실분 (일당드림) 후훗(36.38) 14.03.25 178 0
414369 허세갑 누군지 난 아는데 ㅋㅋ [6] 새싹제거갤로그로 이동합니다. 14.03.25 143 0
414368 늘품님 거래 감사합니다 ^^ 아이유(121.126) 14.03.25 40 0
414367 어제 내려던 문제 [5] ㅇㅇ(175.212) 14.03.25 131 0
414366 시언어 코딩했는데 뭐가 논리적으로 문제인가요 ㅜ [1] 앤더슨-실바갤로그로 이동합니다. 14.03.25 115 0
414365 윈도우와 리눅스 둘중 뭐부터 공부해야되? [2] 왕찬이(222.251) 14.03.25 120 0
414364 남성성인용품쇼핑 최고쇼핑몰 센데이(115.144) 14.03.25 68 0
414363 프로그래밍 하려면 수학 얼마나 필요함? [3] 12(175.116) 14.03.25 354 0
414362 c프로그래밍 에센스와 메타포 이모군(1.232) 14.03.25 106 0
414361 왜 우리나라는 프로그래머를 인정 안하냐 [3] 세일은언제나하지갤로그로 이동합니다. 14.03.25 222 1
414360 프로그래밍공부를해볼까하는데 뭐좀물어볼게. 고민중(210.223) 14.03.25 156 0
414359 텀블러가 죽었슴다 --; 엄지원(121.126) 14.03.25 53 0
414357 쳐놓지도 않은 어장 만들어서 들어가서 익사한 요미코치료사입니다.^ ^ [2] 요미코치료사(59.17) 14.03.25 99 0
414356 인스톨쉴드 잘아는 횽님들 질문좀 123(61.72) 14.03.25 67 0
414355 옆에 파견나온사람 실력 좋아여 [1] 풀개미&#039;ㅅ&#.갤로그로 이동합니다. 14.03.25 133 0
414354 쟙 인터뷰가 왔는데 [2] ㅁㅁ(39.115) 14.03.25 166 1
414352 형들 DB입력업무가 뭐하는거임? [4] mrz(183.104) 14.03.25 243 0
414351 +addbuddy 애드버디 연관검색어 자동완성 마케팅 대행합니다+ 애드버디(210.106) 14.03.25 137 0
414350 딸딸이용동영상 베스트 롯데리아(49.254) 14.03.25 271 0
414349 낙인효과 라는 거 있지 않아? [4] 허세갑(121.183) 14.03.25 109 0
414348 늑대인간이 보름달만 뜨면 발정이 나듯이 [1] ㅇㅇ(117.111) 14.03.25 65 0
414347 낙타눈썹 관련정보 미이티(49.254) 14.03.25 60 0
414346 난 에어로빅형이 더 국*원 같아... [2] 허세갑(121.183) 14.03.25 73 0
414345 fez개발자 해명영상 [1] (211.201) 14.03.25 131 0
뉴스 어센트(ASC2NT), 신곡 'DON'T MOVE' 첫 주 활동 성료! 강렬 임팩트 디시트렌드 07.30
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2