디시인사이드 갤러리

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

갤러리 본문 영역

페이징 질문 ㅠㅠ

힘든하루(118.34) 2014.03.22 16:39:27
조회 123 추천 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/14 - -
AD 휴대폰 액세서리 SALE 운영자 25/07/15 - -
414851 날씨가 추울땐 마우스(114.111) 14.03.28 44 0
414850 ((i<2) ?!i?x[i]:y:x[1]); [3] ㅇㅇ(103.4) 14.03.28 70 0
414849 복합배정연산좀 알려주세요 [2] ㅇㅇ(114.111) 14.03.28 49 0
414847 수갤 잔혹사.jpg [1] 허세갑(118.107) 14.03.27 182 0
414846 컴공과 휴학생인데 질문좀 [4] ㅇㅇ(118.107) 14.03.27 161 0
414845 형들 "123aa456aa23" 에서 정수만 [3] 살려줘(103.4) 14.03.27 101 0
414844 탄배오룡 기아(118.107) 14.03.27 36 0
414843 기적의 영문학자 이웃집힘법사갤로그로 이동합니다. 14.03.27 49 0
414842 ssm 이제알게된2학년인데요 [1] ㅇㅇ(121.162) 14.03.27 124 0
414841 울 아부지가 서울대 전기전자과 나왔는데 [3] ㅁㄴㅇㄹ(103.4) 14.03.27 154 0
414840 임베디드 해서 뭐에 쓰냐 이웃집힘법사갤로그로 이동합니다. 14.03.27 90 0
414839 수갤에서 개털린 '나무' [4] 이웃집힘법사갤로그로 이동합니다. 14.03.27 181 0
414838 커티삭과 두부김치 일잔 아이돌(118.107) 14.03.27 43 0
414836 유축기 에 대하여 정보추천 ㅇㅇ(114.111) 14.03.27 77 0
414835 윈도프로그래밍하기엔 C#이 최고냐 [1] ㅂㅅ(121.162) 14.03.27 156 0
414834 커피는 맥심 짜증난다(118.107) 14.03.27 40 0
414833 그런 상상해본다.. 허세갑(118.107) 14.03.27 50 0
414831 하루 영단어 20개씩 외우기로 했다. [2] ksy(118.107) 14.03.27 93 0
414830 이매진컵 한국 파이널 다녀올께요 [6] 요미코번역인(118.107) 14.03.27 213 0
414829 it회사는 야근 필수라고 주상욱이 말하네요 [2] (222.112) 14.03.27 172 0
414828 의자 갖고 지하철 타니까 좋은 게 [4] 에어로홍갤로그로 이동합니다. 14.03.27 85 0
414827 연산자 오버로딩 고수만 보셈 [2] 갤로그로 이동합니다. 14.03.27 66 0
414826 나도 서울에 살았으면 아마 광우병 시위 때는 참여했을지 몰라 허세갑(103.4) 14.03.27 45 0
414825 앗뇽하세요>.< [3] 걸스데이(103.4) 14.03.27 52 0
414824 흔한 프갤러의 난독증.jpg [3] 허세갑(118.107) 14.03.27 234 0
414822 9호선 급행 안타려면 어떻게? [1] 에어로홍갤로그로 이동합니다. 14.03.27 59 0
414821 형들아 이거 위험한 거 아니야? [1] 허세갑(103.4) 14.03.27 108 0
414820 나 22살인데 아직 군대 안 갔음 [3] ㅁㄴㅇㄹ(103.4) 14.03.27 126 0
414819 형들 안녕 차음갤 처음와봤어ㅎㅎ; 투샨(118.107) 14.03.27 38 0
414818 16비트의 컴퓨터가 나타낼 수 있는 RGB값, 색의 수는 몇개인가? [2] kpark(118.107) 14.03.27 2434 0
414817 넵선ㄳ하고 질문드림 (118.107) 14.03.27 68 0
414816 형들 c와 c++ 둘다 포인터 비슷하나요? [1] 왕찬이(114.111) 14.03.27 114 0
414814 대기업 면접을 봤는데... 창의적이란게 뭐임? [3] ㅎㄱ(103.4) 14.03.27 243 0
414813 과제질문해도됌? [2] d(118.107) 14.03.27 62 0
414812 자료구조 책 ㅊㅊ좀 aerhaer(103.4) 14.03.27 57 0
414810 여자가 쓰던 중고 의자 사는 거 어떨까 [3] 에어로홍갤로그로 이동합니다. 14.03.27 115 0
414809 블루마운틴 카페 개설 및 이벤트용~! 카시오피아(118.107) 14.03.27 45 0
414807 형들 동영상스트리밍 다운받으면 기록남아??? [3] 이이잉(175.197) 14.03.27 230 0
414806 c언어배우고 다른언어 배우면 안헷갈림? [3] 어-예(61.39) 14.03.27 196 0
414803 ebp랑 esp존나 햇갈린다 [1] ■覇네쿠니스갤로그로 이동합니다. 14.03.27 68 0
414802 컴공랭킹 [1] whatugonnado갤로그로 이동합니다. 14.03.27 155 0
414801 친구가 야동 이름 바꿔놓은 분 보세요. [1] 허세갑(118.107) 14.03.27 151 0
414800 매트랩에서 델타함수 저장하는 저장하는 소스가 뭔가요 제발알려줘요(103.4) 14.03.27 415 0
414799 미래의 래퍼.jpg [2] 에어로홍갤로그로 이동합니다. 14.03.27 106 0
414798 자바 swing 안해봤는데 할만함? [3] whatugonnado갤로그로 이동합니다. 14.03.27 122 0
414797 컴그운용기능사 책을 보다가 본 문구 허세갑(103.4) 14.03.27 75 0
414796 해킹이라는 것을 배우려면 어떤 커리큘럼을 거쳐야함? [2] ㅇㅇ(118.107) 14.03.27 185 0
414794 와 시발 개발 진짜 이젠 지긋지긋 하다 [3] 사장(223.62) 14.03.27 150 0
414793 개발하지 마라 [1] 사장(223.62) 14.03.27 118 0
414792 여러분 개발자용 노트북 추천좀 [3] 마음이(103.4) 14.03.27 272 0
뉴스 샤이니 온유 "내 목소리가 무기, 솔로 자신감 생겼죠" 디시트렌드 07.16
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2