본문 바로가기
Program

페이징(paging) 처리 함수

본문

<%
'==========================================================================
'// 페이징 처리 함수
'
'@param     cp      : 현재 페이지 번호
'@param     t_cnt   : 전체 게시물 수(전체 레코드수)
'@param     ln      : 페이지에서 보여줄 리스트 수 *) 이 값은 rs.PageSize 와 같아야함
'@param     param   : 파라미터 조합
'
'@ex        Call ShowPageNavigation(3,1000,10,"&srchfield=&srchtxt=")
'           -> default.asp?CP=3&srchkubun=&srchval=
'           -> 1000개의 레코드를 보여질 목록 10개를 기준으로 페이징바 생성
'==========================================================================
Public Function ShowPageNavigation(cp, t_cnt, ln, param)
    Dim nPREV, nCUR, nNEXT, i, szPage, nFirst, nLast, tp
    Dim pageLoc
    Dim retVal
   
    tp = getTotalPageSize(t_cnt, ln)
   
    nFirst  = "" : nLast    = ""
    nPREV   = (int((cp-1)/10)-1)*10+1
    nCUR    = (int((cp-1)/10))*10+1
    nNEXT   = (int((cp-1)/10)+1)*10+1

    '------------------------------------------
    '// 이전 10개 처리 부분
    if nPREV > 0 then
        pageLoc = "?CP=" & nPREV & param
        szPage = "<a href=""" & pageLoc & """><font color=black><이전10개</font></a> <font color=#c2c2c2>|</font>"
    else
        szPage = "<이전10개 <font color=#c2c2c2>|</font>"
    end if
   
    '------------------------------------------
    '// 중간 부분 페이징
    i = 1
    Do While i < 11 and nCUR <= tp
        if CInt(cp) = CInt(nCUR) then
            szPage = szPage & " <font color=#F96711>"&nCUR&" </font><font color=#c2c2c2>|</font>"
        else
            pageLoc = "?CP=" & nCUR & param
            szPage = szPage & " <a href=""" & pageLoc & """><font color=black>"&nCUR&"</font></a> <font color=#c2c2c2>|</font>"
        end if
        nCUR = nCUR + 1
        i = i + 1
    Loop
   
    '------------------------------------------
    '// 다음 10개 처리 부분
    if nNEXT <= tp then
        pageLoc = "?CP=" & nNEXT & param
        szPage = szPage & " <a href=""" & pageLoc & """><font color=black>다음10개></font></a>"
    else
        szPage = szPage & " 다음10개>"
    end if
    if CInt(tp) = 0 then
        retVal = ""
    else
        retVal = nFirst&" "&szPage&" "&nLast
    end if

    ShowPageNavigation = retVal
End Function

'==========================================================================
'// 전체 페이지수 얻기 - 페이징 함수(ShowPageNavigation와 연동)
'
'@param     t_cnt : 전체 게시물 수(전체 레코드수)
'@param     ln : 페이지에서 보여줄 리스트 수
'==========================================================================
Function getTotalPageSize(t_cnt, ln)
    Dim ret
    t_cnt = CDbl(t_cnt)
    ret = fix(t_cnt/ln)
    if (t_cnt mod ln) > 0 then
        ret = ret + 1
    end if
    getTotalPageSize = ret
End Function
%>
[이 게시물은 듀라님에 의해 2015-04-03 10:08:13 워드프레스에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:27:24 Public에서 이동 됨]
[이 게시물은 듀라님에 의해 2015-04-03 10:33:53 팁과강좌에서 이동 됨]
[이 게시물은 최고관리자님에 의해 2017-06-10 14:24:30 ASP에서 이동 됨]
0 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기
  • 카카오톡으로 보내기

페이지 정보

l2j (121.♡.101.20) 작성일07-05-02 14:48 조회1,434회 댓글0건

댓글목록

등록된 댓글이 없습니다.

Program 목록

게시물 검색

사이트 정보

  • 회사명 회사명 / 대표 대표자명
  • 주소 OO도 OO시 OO구 OO동 123-45
  • 사업자 등록번호 123-45-67890
  • 전화 02-123-4567 / 팩스 02-123-4568
  • 통신판매업신고번호 제 OO구 - 123호
  • 개인정보관리책임자 정보책임자명

고객센터

  • 02-1234-5678
  • abc@abc.com
  • 월-금 am 11:00 - pm 05:00
  • 점심시간 : am 12:00 - pm 01:00
  • 주말&공휴일은 1:1문의하기를 이용하세요.
상단으로