디시인사이드 갤러리

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

갤러리 본문 영역

페이징 질문 ㅠㅠ

힘든하루(118.34) 2014.03.22 16:39:27
조회 124 추천 0 댓글 4

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

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

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

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

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

 

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

 

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

"

 

 <%@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>

 

"

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 반응이 재밌어서 자꾸만 놀리고 싶은 리액션 좋은 스타는? 운영자 25/07/28 - -
413892 형들 컴공이 그렇게 노예임? [2] ㅁㅇㄴㄹ(180.228) 14.03.22 197 0
413891 여기 캐드는취급안함? [1] 유동이로그인안해도댐(110.11) 14.03.22 144 0
413890 씨언어에서 대충 세 변수 더하는 함수 sum 만드는 기초 공부중인데 [1] 글쓴이(110.12) 14.03.22 127 0
413889 새싹제거는 새디스트다 [1] (183.101) 14.03.22 91 0
413888 스벅에서 케이크 주네여ㅎㅎ [2] 요미코번역인(175.223) 14.03.22 87 0
413886 이번 해킹 루머 후에 보기 싫은 거 [2] ㅇㅇ(112.185) 14.03.22 156 0
413885 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 엘사?갤로그로 이동합니다. 14.03.22 64 0
413884 프로그래머 관련 다큐나 영화 추천좀 [1] 스티브짭스(39.119) 14.03.22 124 0
413883 저번에 올린 "국정원 해체 촛불집회에 다녀왔다" [3/2] 에어로홍갤로그로 이동합니다. 14.03.22 706 0
413882 프리하면 재밌냐? 새발(118.46) 14.03.22 72 0
413879 이거 비주얼스튜디오로 돌리려면 어떻게해야되요 ㅠㅠ?? [2] hhhhyyyy(222.236) 14.03.22 109 0
413878 촛불이 스마트폰보다 따뜻하다 [7] 에어로홍갤로그로 이동합니다. 14.03.22 192 0
413877 서버프로그래밍의왕이되본다 [2] (211.201) 14.03.22 163 0
413876 따뜻하다 [4] 에어로홍갤로그로 이동합니다. 14.03.22 148 0
413875 아까 노래 찾던님아 이웃집힘법사갤로그로 이동합니다. 14.03.22 70 0
413874 리눅스 네트워크 연결에대해 질문좀 드릴께요.. [12] ㅎㅇㄴㅊㅌ(125.133) 14.03.22 217 0
413873 혹시 이 노래 제목 아는 사람 있어? [6] ㅁㅎ(117.55) 14.03.22 127 0
413871 야 프리하려면어케하냐? [1] (39.7) 14.03.22 106 0
413870 나 오늘 9999번호판 단 승용차 봤다. [3] 에어로홍갤로그로 이동합니다. 14.03.22 111 0
413869 추워 [2] 에어로홍갤로그로 이동합니다. 14.03.22 68 0
413867 프로그래밍공부하려는데 책추천좀 [2] 고닉적갤로그로 이동합니다. 14.03.22 110 0
413866 슈발 이게 뭔말이지 [14] 때려도됨?갤로그로 이동합니다. 14.03.22 195 0
413865 베릴로그 프로그램 질문 [3] 베릴로그(218.50) 14.03.22 127 0
413864 버그 수정하는 만화 [1] valkys(121.113) 14.03.22 140 0
413863 그러고보니 과탐 지구과학은 하긴함? [1] 백이(223.33) 14.03.22 70 0
413861 프갤 까칠한 이유 ㅠㅠ [3] 새싹제거갤로그로 이동합니다. 14.03.22 149 0
413860 4년제 나와서 프로그래머로 취직했는데 초봉 3300도 안된다면 [3] 새싹제거갤로그로 이동합니다. 14.03.22 388 0
413858 c언어 좀 도와줭 ㅠ [1] ㅇㅇ(221.161) 14.03.22 95 0
413857 셀프랜드같은 명함디자인 사이트 만들기 어렵냐 [7] 새싹제거갤로그로 이동합니다. 14.03.22 266 0
413856 자신이 성공했다고 느꼈을때가 어느때냐? [3] ㅁㄴㅇㅁㄴㅇ(119.203) 14.03.22 108 0
413855 '새싹제거'는 새디스트다 (183.101) 14.03.22 73 0
413854 수능 공부했던 애들이 플밍 못하냐? 개나소나 하지 [4] 새싹제거갤로그로 이동합니다. 14.03.22 182 0
413853 플머들 경력 쌓고 나이차면 대체 어디로 가냐 [4] 새싹제거갤로그로 이동합니다. 14.03.22 191 0
413852 (진지글)리눅스와 윈도우의 차이점를 쓰시오 [11] ㄹㄷ(27.1) 14.03.22 168 0
413851 개발자들이 실력-능력-경력 타령하는거 보면 무슨 생각 듬? 새싹제거갤로그로 이동합니다. 14.03.22 91 0
413849 러브젤추천싸이트추천 쇼핑몰1위 [1] 누구누구(203.109) 14.03.22 84 0
413848 c언어 공부해볼려하는데 공부법 추천좀여 [4] ㅇㅇ(58.233) 14.03.22 187 0
413847 기초 언어 다 했는데 다음은 뭐 할까요? [3] ㅇㅇ(112.185) 14.03.22 109 0
413846 jsp페이징 질문 ㅠㅠ you&i(118.34) 14.03.22 384 0
413845 정적분석도구에 관해서, [7] 123(112.149) 14.03.22 80 0
413844 zigbeeX로 프로젝트 하나 해볼까 한데 주제 뭐 할꺼없나; ㅇㅇ(121.177) 14.03.22 54 0
페이징 질문 ㅠㅠ [4] 힘든하루(118.34) 14.03.22 124 0
413842 정보통신학과 조언좀 주실수있는 형들? 하제갤로그로 이동합니다. 14.03.22 75 0
413841 한 3년정도만에 jsp 했는데.. 어때?? [6] 준모터스(175.223) 14.03.22 161 0
413840 성공해서 돌아올게! [1] 허세갑(59.23) 14.03.22 73 0
413838 복붙이 답이다. [2] 이웃집힘법사갤로그로 이동합니다. 14.03.22 103 0
413837 형님들 순수가상함수 질문요 ㅠㅠ [9] ㅂㅈㄷㅂ(61.98) 14.03.22 129 0
413836 정적분석도구에 대해서 궁금해서 질문올립니다 [2] 123(112.149) 14.03.22 89 0
413835 형님들 동적객체 해제시 메모리 오류나는거 같은데 이런건 어디가 잘못된거죠 [6] ㅇㅇ(101.235) 14.03.22 116 0
413834 오픈소스 갖다쓰고 복붙하는게 한심해보이냐? [2] 좃데이갤로그로 이동합니다. 14.03.22 146 0
뉴스 한경일, 새 싱글 ‘운명 같은 사람’ 26일 발매! 진솔한 사랑 고백! 디시트렌드 07.27
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2