asp分页函数

<%'=============分页定义开始,可放在数据库打开前或后    dim action
    action=request.QueryString("action")
    Const MaxPerPage=20   '定义每页显示记录数,可根据实际自定义
    dim totalPut
    dim CurrentPage
    dim TotalPages
    if Not isempty(request("page")) then
    currentPage=Cint(request("page"))
    else
    currentPage=1
    end if
    '=============分页定义结束%>
    <% '=============打开数据库数据表,要以这种方式打开
    set rs=server.CreateObject("adodb.recordset")
    sql="select * from p_log order by id desc"
    rs.open sql,conn,1,1
    'sql="select * from ht_cp where"
    %>
    <%'=============分页类代码开始,需放在数据库数据表打开后
    if err.number<>0 then
    response.write "<p align='center'>数据库中暂时无数据</p>"
    end if
    if rs.eof And rs.bof then
    Response.Write "<p align='center'>对不起,没有符合条件记录!</p>"
    else
    totalPut=rs.recordcount
    if currentpage<1 then
    currentpage=1
    end if
    if (currentpage-1)*MaxPerPage>totalput then
    if (totalPut mod MaxPerPage)=0 then
    currentpage= totalPut \ MaxPerPage
    else
    currentpage= totalPut \ MaxPerPage + 1
    end if
    end if
    if currentPage=1 then
    showContent
    '  showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
    else
    if (currentPage-1)*MaxPerPage<totalPut then
    rs.move  (currentPage-1)*MaxPerPage
    showContent
    '    showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
    else
    currentPage=1
    showContent
    '  showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
    end if
    end if
    end if
    '=============分页类代码结束%>
    <%'=============循环体开始
    sub showContent
    dim i
    i=0
    do while not rs.eof%>
    循环体
    <%i=i+1
    if i>=MaxPerPage then Exit Do
    rs.movenext
    loop
    rs.close   '释放资源
    set rs=nothing
    End Sub
    '=============循环体结束%>
    <!--------------------------------------------分页位置---------->
    <%showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""  %>
    <!------------------------------------------------------>
    <%'=============放置分页显示开始
    Function showpage(totalnumber,maxperpage,filename)
    Dim n
    If totalnumber Mod maxperpage=0 Then
    n= totalnumber \ maxperpage
    Else
    n= totalnumber \ maxperpage+1
    End If %>
    <form method=Post action=<%=filename%》
    <p align="center">
    <%If CurrentPage<2 Then  %>
    首 页 上一页
    <% Else  %>
    <a href=<% = filename %>?page=1>首 页</a>
    <a href=<% = filename %>?page=<% = CurrentPage-1 %》上一页</a>
    <% End If
    If n-currentpage<1 Then  %>
    下一页 尾 页
    <%  Else  %>
    <a href=<% = filename %>?page=<% = (CurrentPage+1) %》下一页</a>
    <a href=<% = filename %>?page=<% = n %》尾 页</a>&nbsp;&nbsp;
    <% End If  %>
    页次:<b><font color=red><% = CurrentPage %></font></b>/<b><% = n %></b>页 <b><%=maxperpage%></b>个记录/页  共<b><%=totalnumber %></b>个记录
    转到:<select name="cndok" onChange="javascript:location=this.options[this.selectedIndex].value;">
    <%
    for i = 1 to n
    if i = CurrentPage then%>
    <option value="<% = filename %>?page=<%=i%>" selected>第<%=i%>页</option>
    <%else%>
    <option value="<% = filename %>?page=<%=i%>">第<%=i%>页</option>
    <%
    end if
    next
    %>
    </select></font>
    </form>
    <%End Function
    '=============放置分页显示结束%>