디시인사이드 갤러리

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

갤러리 본문 영역

jsp페이징 질문 ㅠㅠ

you&i(118.34) 2014.03.22 16:43:02
조회 382 추천 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/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
414345 fez개발자 해명영상 [1] (211.201) 14.03.25 129 0
414344 형들 제발 ㅠㅠ 개고수형들 좀도와줘 부탁할게;;; 전설의레이스컨트롤갤로그로 이동합니다. 14.03.25 36 0
414343 허세갑님께 질문 드립니다 [6] 에어로홍갤로그로 이동합니다. 14.03.25 85 0
414342 금징목걸이 베스트사이트 김다연(124.198) 14.03.25 63 0
414341 연봉 2200으로 시작하는 회사에 사수들은 실력없음? ㅇㅇ(14.47) 14.03.25 110 0
414340 18살 웹캠해킹프로그램으로 아프리카bj도촬한 뉴스 답글 가관 [4] ㅇㅇ(14.47) 14.03.25 567 0
414338 디시이미지저장소 할룽(1.221) 14.03.25 96 0
414337 굿샷먹쇠 실사용후기 두산(121.126) 14.03.25 183 0
414336 3힘 허세갑(175.223) 14.03.25 50 0
414335 허세갑 [3] 오월신금갤로그로 이동합니다. 14.03.25 85 0
414334 알고리즘...하 도와줘 형들 늅뉴비(219.252) 14.03.25 63 0
414333 SI발 기업 재직자들이 많아서 그런지..... [2] ㅇㅇ(117.111) 14.03.25 170 0
414332 공동구매성인용품 3중포장 서나타(49.254) 14.03.25 70 0
414331 어휴 좆소던 대기업이던 [3] 사장(223.62) 14.03.25 149 0
414330 고급딜도 1등어플 닉쿠운(49.254) 14.03.25 71 0
414329 가터벨트 연락처 알겠어(121.126) 14.03.25 148 0
414328 친목질하는새끼들 다 죽여버리고싶다 [3] w(46.19) 14.03.25 153 0
414327 브라질이 싸고후진맛없는원두라 욕하지 마라 자우림(49.254) 14.03.25 59 0
414326 국정원 자살하려 했다는 기사 났는데 [5] 에어로홍갤로그로 이동합니다. 14.03.25 666 0
414325 18세 대학생이 화상캠 해킹, 인터넷TV BJ 사생활 찍어 협박 [6] 새싹제거갤로그로 이동합니다. 14.03.25 849 0
414324 게임 프로그래머 라고 소개하면 [1] 세일은언제나하지갤로그로 이동합니다. 14.03.25 131 0
414322 나 오늘 아침에 빨간 옷 입은 아줌마 봤다 [1] 에어로홍갤로그로 이동합니다. 14.03.25 67 0
414321 통화녹음앱 써서 인맥관리좀 해라 공돌이들아 우루무우(125.141) 14.03.25 79 0
414320 막걸리? 비빔밥? 김치? 불고기? ㅇㅇ(14.47) 14.03.25 87 0
414319 텀블러가 죽었슴다 --; 알겠어(121.126) 14.03.25 102 0
414318 글 자르기 질문 php [1] rfff(112.223) 14.03.25 81 0
414317 말이좋아 프리랜서지 그냥 단기계약직 (211.208) 14.03.25 77 0
414316 과에서 공부안하는 애들이랑 비교 ㄴㄴ ㅇㅇ(175.223) 14.03.25 87 0
414312 차 이야기랑은 관련 없지만 담배 태우시는 분들... 키다리아저씨(115.144) 14.03.25 75 0
414310 이런 가정왜하는거냐? ㅋㅋ [6] (31.7) 14.03.25 202 1
414309 이 정도 조건이면 할만 함? [4] ㄴㅇ(14.36) 14.03.25 363 0
414308 왜 시발 컴퓨터종사자 = 프로그래머를 생각하지 [3] (223.62) 14.03.25 244 0
414307 23인데.. 프로그래밍 전망좋아? 도와줘 형들 [7] 퍼억(112.150) 14.03.25 511 0
414306 형들 수도코드 물어볼게 있는데... [3] 초초초짜(175.209) 14.03.25 148 0
414305 제발 언어는 원서로 공부해라! [3] (223.62) 14.03.25 199 0
414304 cpp에서 어셈블리 인라인사용 존나 지랄같네 1(223.62) 14.03.25 117 0
414303 나미 - 슬픈 인연 ㅇㄱ(182.227) 14.03.25 90 0
414301 이 아이콘사진 어떤건지 아는사람?? [2] 아이콘(59.27) 14.03.25 160 0
414299 횽님들ㅜㅜ 마지막으로 물어보께여 [1] 1232(180.231) 14.03.25 88 0
414297 레알 병신같은 노답 뮤비 이웃집힘법사갤로그로 이동합니다. 14.03.25 126 0
414294 나 너트북 키보드 안되는데 수리하기 귀찮아서 hongiro갤로그로 이동합니다. 14.03.25 42 0
414293 그리고 home 폴더 하니까 생각나서 하는 말인데 [2] 에어로홍갤로그로 이동합니다. 14.03.25 76 0
414292 ~~~ ~~~ ~~~ 홍에관한 미스터리 ~~~ ~~~ ~~~ 에어로홍갤로그로 이동합니다. 14.03.25 67 0
414291 이제 파폭 파일 저장 잘 된다 [2] 에어로홍갤로그로 이동합니다. 14.03.25 71 0
414290 노업 에어로홍갤로그로 이동합니다. 14.03.25 26 0
414289 지금 뭐하시나요 [1] 이웃집힘법사갤로그로 이동합니다. 14.03.25 46 0
414288 한국의 기술천시 문화를 볼때마다 느끼는것은 hongiro갤로그로 이동합니다. 14.03.25 80 0
414285 뭐냐 이거 네이버 구글 따라한거냐 [3] 요미코치료사(59.17) 14.03.25 273 0
414283 농락당하는게 이런 기분이구나 요미코치료사(59.17) 14.03.25 69 0
414282 ssl self-signed 인증서 물어볼게 있어 [1] ㅇㅅㅇ(222.232) 14.03.25 96 0
뉴스 샤이니 온유 "내 목소리가 무기, 솔로 자신감 생겼죠" 디시트렌드 07.15
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2