首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 网络编程 > ASP > 正文
  • ASP分页程序(将数据库内容分页显示)
      2007-4-4  来源:网络资源  编辑:Jsbulo  热度:

      将数据库内容分页显示

    <%"=============分页定义开始,可放在数据库打开前或后
    dim action
    action=request.QueryString("action") 
    Const MaxPerPage=10 "定义每页显示记录数,可根据实际自定义
    dim totalPut 
    dim CurrentPage
    dim TotalPages
    dim j
    dim sql
    if Not isempty(request("page")) then
    currentPage=Cint(request("page"))
    else
    currentPage=1
    end if 
    "=============分页定义结束%>

    <% "=============打开数据库数据表,要以这种方式打开 
    set rs=server.CreateObject("adodb.recordset") 
    rs.open "select * from news where link=1 and shgg<>1 order by fincount desc",conn,1,1
    %>



    <%"=============分页类代码开始,需放在数据库数据表打开后

    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
    dim bookmark
    bookmark=rs.bookmark
    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 
    "=============循环体结束%> 





    <%"=============放置分页显示开始 
    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>  
    <% 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 
    "=============放置分页显示结束%>

    二、<!--#include file="conn.asp"--> "数据库位置,应用分页程序文件已有的不用加