디시인사이드 갤러리

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

갤러리 본문 영역

jsp페이징 질문 ㅠㅠ

you&i(118.34) 2014.03.22 16:43:02
조회 383 추천 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/21 - -
AD 곧 휴가!! 홈캉스, 바캉스 SALE 운영자 25/07/21 - -
414101 내 정신연령 [1] 이웃집힘법사갤로그로 이동합니다. 14.03.24 76 0
414100 님들은 프로그래밍 뭔계기로시작해서 뭐부터배우기시작?? [3] ㅇ ㅇ(221.165) 14.03.24 108 0
414099 2의 보수 어떻게 만드는거냐 [6] dd(119.194) 14.03.24 226 0
414098 긱사에서 밤늦게 코딩하면 존나 미안하다 솔까 [1] ㄱㄱ(223.62) 14.03.24 105 0
414097 노업 [1] 에어로홍갤로그로 이동합니다. 14.03.24 668 0
414096 프갤하다가 존나깜짝깜짝 놀람 시발 오타쿠 개많움 [2] 1(218.55) 14.03.24 181 0
414095 극단적인 예, 수능시험, 직장인 [1] 허세갑(175.223) 14.03.24 165 0
414094 허세갑 저번에 꺼진다 하지 않음? [3] 이웃집힘법사갤로그로 이동합니다. 14.03.24 179 0
414093 저 윤성우책삿음 낼배달됨 이거죻음? [2] ㅇ ㅇ(221.165) 14.03.24 684 0
414092 노트북은 13~14인치에 집에서쓸땐 27인치 widi 모니터랑 듀얼 개꿀 시발..(218.55) 14.03.24 159 0
414091 질문할거있는데 답좀해주라 ㅜㅜ급해 shw(116.123) 14.03.24 129 0
414090 [C++]소팅 함수 질문하나 합니다 [3] ㅇㅇ(119.194) 14.03.24 198 0
414089 게으른 사람이 앉을 자리는 없다. [3] 허세갑(175.223) 14.03.24 219 0
414088 컴퓨터언어의 우위성을 가르는 기준이 런타임시의 성능이면 [1] 미친..(218.55) 14.03.24 90 0
414087 윤성우가 갑인 단편적인 이유 [3] 갤로그로 이동합니다. 14.03.24 231 0
414086 그리고 실력이안좋아도 대학이 좋으면 다 뚜드려패니깐 [1] 1ㅇ(223.62) 14.03.24 79 0
414085 윤성우는 강의의 신이다 갤로그로 이동합니다. 14.03.24 103 0
414084 c->cpp 루트 vs cpp->c 루트 [2] 1ㅇ(223.62) 14.03.24 123 0
414082 언어 다양한거 구사할줄 아는 사람들만..txt @@@@@@@@@(112.149) 14.03.24 76 0
414081 자바 배우는거 몇달 해야 된다던데.. ㅇㅇ(117.55) 14.03.24 75 0
414080 국내 아마추어 게임 개발 커뮤니티 같은거 아시는분? [5] ㅁㄴㅇ(61.38) 14.03.24 189 0
414079 java랑 c언어 중에서 뭐를 먼저 배워야 할까 [1] 요미코(112.185) 14.03.24 111 0
414078 너희들은 무슨 언어로 입문함? [1] 요미코(112.185) 14.03.24 84 0
414076 욕심내지 말고 한 언어만이라도 잘해라 ㅇㅇ(112.185) 14.03.24 92 0
414074 웹프로그래밍 진작에 배울걸 그랬네요 중3(122.32) 14.03.24 105 0
414073 scanf 질문 [1] Multiplier갤로그로 이동합니다. 14.03.24 85 0
414072 이제보니 책이 잘못된 거였네 [3] ㅇㅇ(117.55) 14.03.23 156 0
414071 포인터 상실에 관한 논의좀 하자 [3] 이웃집힘법사갤로그로 이동합니다. 14.03.23 112 0
414069 c언어에서 출력이랑 반환이랑 차이가모야? [1] 20청춘(110.70) 14.03.23 98 0
414068 보통 웹사이트에서 이미지 업로드 후 저장할때.. [1] 힘든하루(118.34) 14.03.23 112 0
414067 프갤 애들 정모하면 차 안에서 번개탄 피우고 자살할 듯 [4] ㅇㅇ(112.185) 14.03.23 132 0
414066 다들 프로그래밍 입문할 때 이런 패턴이지 않냐? [3] 이웃집힘법사갤로그로 이동합니다. 14.03.23 307 0
414064 1바이트로 16진수 몇개만드냐 [4] ㅇㅇㅇ(119.71) 14.03.23 124 0
414063 노트북 몇인치 사야돼 ㅠㅠㅠ찡찡ㅠㅠㅠ [2] dd(27.126) 14.03.23 114 0
414062 씨발 윗집 개쌔끼는 밤에 못질하고 날리냐 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅇ(112.185) 14.03.23 98 0
414061 프갤럼들아, 이 동영상 보고 마음에 인내나 채우고 가라 [2] 이웃집힘법사갤로그로 이동합니다. 14.03.23 99 0
414060 프로그래밍이 멋있어서 입문한 사람? [4] ㅇㅇ(112.185) 14.03.23 126 0
414059 너희들은 왜 프로그래밍을 하려고 했냐 [1] ㅇㅇ(112.185) 14.03.23 75 0
414058 프갤의 존재이유... [1] 허세갑(175.223) 14.03.23 71 0
414055 그럼 지금 당장 '쉽게 배워서 빨리 써먹는 스칼라 프로그래밍' 구입ㅠ [1] ㅇㅇ(112.185) 14.03.23 141 0
414053 C언어 기초인데 좀 알려줘 ㅇㅇ(119.71) 14.03.23 66 0
414052 JAVA나 C언어 둘 중 하나만 제대로 하면 그 다음은 쉽더라 [2] ㅇㅇ(112.185) 14.03.23 452 0
414051 소액결제현금화의 안전1위업체 조선소액입니다 조선소액(49.254) 14.03.23 89 0
414050 어르 ㅇㅇ(218.36) 14.03.23 43 0
414049 자바스크립트로 파일 읽을 때 크기가 커지면 느려지는데 ㅜㅜ [2] asdfasdf(210.118) 14.03.23 63 0
414048 실력자 해킹프로그래밍 잘하시는분 구해봅니다 보수 넉넉함 쇼미더머니갤로그로 이동합니다. 14.03.23 73 0
414046 프로그래밍 자료구조 잘하신는분 있나용... asf123safd(121.148) 14.03.23 84 0
414045 27고졸이다 질문좀... [14] 짱짱걸속치마(59.16) 14.03.23 336 0
414042 있잖아 인공지능 코딩해서 친구 만드는거 현실적으로 불가능함? [2] ㅇㅇ(112.185) 14.03.23 119 0
414041 아프리카TV 처음에는 왜 보는가 싶었는데 ㅇㅇ(112.185) 14.03.23 137 0
뉴스 '견우와 선녀' 추영우, 악귀 봉수에게 몸 뺏겼다? 반전의 충격 엔딩!   디시트렌드 07.22
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2