深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

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


March 25,2004
显示形式:
        ID         NAME
        1          JULIET
        2          SPIRIT
        3          GIRL
        4          BOY
  [1] [2] [3] [4]  页数:1/4 页  4条/页  总记录数:13条
代码:
<!--page4.asp-->
<!--#include file="conn.asp"-->
<html>
<body bgcolor="#FFFFFF" text="#000000">
<table width="60%" border="1" align="center">
<%
    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.recordcountmsg_per_page                                'n:总页数
            else                                                               
                n    =    rs.recordcountmsg_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="50%">ID</td>
            <td width="50%">name</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>
        </tr>
<%
                        rowcount=rowcount-1
                        rs.MoveNext
            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 nmsg_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" >
          Page:<%=currentpage%>/<%=n%>pages  <%=msg_per_page%>notes/page   Total:<%=totalrec%>notes</font>
  <%end sub%>
       
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved