asp 페이징 처리

asp 페이징 처리


  1. 페이지값 받기
1
2
3
4
5
if request("page")= "" then
page = 1
else
page = request("page")
end if
  1. 한페이지에 보여줄 리스트갯수

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    listnum = 10
    '전체리스트값
    sqlt = "select count(코드값) from tablename"
    set rst = dbcon.execute(sqlt)
    totalnum = rst(0)
    SQL = "select * from tablename"
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.PageSize =
    listnum
    Rs.Open SQL, Conn, 1 '커서타입이 1이어야 하나? 흠흠
    totalpage = rs.PageCount
  2. 전체페이지의 수를 저장

1
rs.AbsolutePage = page
  1. 현재 레코드셋의 커서를 페이지에 맞게 옮겨준다.
1
2
3
4
5
start = (page-1) *
listnum
num = totalnum - start
Do Until Rs.eof Or i>
Rs.PageSize - 1
  1. 페이지가 EOF 이거나 혹은 페이지크기를 넘길경우
1
2
3
4
5
6
7
%>페이징 출력시<%=num%>출력할 내용들... 좔좔좔<br><%
Rs.movenext
i = i + 1
loop
rs.close
%>하단 페이징 부분
<% if page<>1 then %><a href ="list.asp?page=<%=page-1%>">이전페이지</a><% else %><a href ="ist.asp?page=<%=page%>">이전페이지</a><% end if %><%for i = 1 to totalpage %><a href ="list.asp?page=<%=i%>"><%=i%></a><% next %><% if(Cint(page)<>Cint(totalpage)) then %><a href ="list.asp?page=<%=page+1%>">다음페이지</a><% else %><a href ="list.asp?page=<%=page%>">다음페이지</a><% end if %>
Share