2栏分页显示(附显示的形式[1][2])

11/23/2001来源:ASP实例人气:15655

显示形式:
         ID1    NAME   | ID2   NAME
         1      JULIET |  2     SPIRIT
         3      BABY   |  4     BOY
  [1] [2] [3] [4]  页数:1/4页   4条/页   总记录数:13条
代码:
<!--page2.asp-->
<!--#include file="conn.asp"-->
<html>
<body bgcolor="#FFFFFF" text="#000000">
<table width="60%" border="1" align="center">
<% '是有两列的分页(1,2,3,4的形式)。数据表:page,字段:id,testname
    dim rs
    dim sql
    msg_per_page    =    4                                                        '定义每页显示记录条数
    set rs    =    server.createobject("adodb.recordset")
    sql = "select * from page order by id"                                      '改成你自己的SQL语句
    rs.cursorlocation    =    3                                                    '使用客户端游标,可以使效率提高
    
    rs.pagesize    =    msg_per_page                                                '定义分页记录集每页显示记录数
    rs.open sql,conn,0,1                                                        

    if err.number<>0 then                                                        '错误处理
        response.write "数据库操作失败:" & err.description
        err.clear
    else
        if not (rs.eof and rs.bof) then                                            '检测记录集是否为空
            totalrec    =    RS.RecordCount                                        'totalrec:总记录条数
            if rs.recordcount mod msg_per_page    =    0 then                        '计算总页数,recordcount:数据的总记录数
                n    =    rs.recordcount\msg_per_page                                'n:总页数
            else                                                                
                n    =    rs.recordcount\msg_per_page+1                        
            end if                                                                

            currentpage    =    request("page")                                        'currentpage:当前页
            If currentpage <> "" then
                currentpage =  cint(currentpage)
                if currentpage < 1 then  
                    currentpage = 1
                end if  
                if err.number <> 0 then
                    err.clear
                    currentpage    =    1
                end if
            else
                currentpage = 1
            End if                                                                
            if currentpage*msg_per_page > totalrec and not((currentpage-1)*msg_per_page < totalrec)then
                currentPage=1
            end if
            rs.absolutepage    =    currentpage                                    'absolutepage:设置指针指向某页开头
            rowcount        =    rs.pagesize                                    'pagesize:设置每一页的数据记录数
            
            dim i
            dim k
%>
        <tr align="center" valign="middle">
            <td width="25%">ID1</td>
            <td width="25%">name1</td>
            <td width="25%">ID2</td>
            <td width="25%">name2</td>
        </tr>
        <%do while not rs.eof and rowcount > 0%>
        <tr align="center" valign="middle">
            <td width="25%"><%=rs("id")%></td>
            <td width="25%"><%=rs("testname")%></td>
            <td>
                <%
                    rowcount=rowcount-1
                    rs.MoveNext
                    if not rs.EOF then
                %>
                        <%=rs("id")%>
            </td>
            <td width="25%"><%=rs("testname")%></td>
        </tr>
<%
                        rowcount=rowcount-1
                        rs.MoveNext
                    else
                        Response.Write "&nbsp;</td><td>&nbsp;</td></tr>"
                    end if
          loop
        end if
    end if
    rs.close
    set rs=nothing
%>
  
</table>
<table border="0" align="center">
  <tr>
    <td align="center" valign="middle">
      <%call listPages()%>
    </td>
  </tr>
</table>
</body>
</html>
<%
    sub listPages()                                                                
        if n <= 1 then exit sub                                                    
            for i=0 to n\msg_per_page-1
                for j=1 to msg_per_page
%>
                    <font size="2" color="#006600">
                    <a href="<%=request.ServerVariables("script_name")%>?page=<%=i*msg_per_page+j %>">[<% =i*msg_per_page+j %>]</a></font>
         <%     
                next
            next
            EndPage = n mod msg_per_page
            for j=1 to EndPage
         %>
                <font size="2" color="#006600">
                <a href="<%=request.ServerVariables("script_name")%>?page=<% =i*msg_per_page+j %>">[<% =i*msg_per_page+j %>]</a></font>
          <%next%>
          <font color=black face="arial" >
        &nbsp Page:<%=currentpage%>/<%=n%>pages&nbsp&nbsp<%=msg_per_page%>notes/page &nbsp Total:<%=totalrec%>notes</font>
  <%end sub%>