zoukankan      html  css  js  c++  java
  • ASP分页技术系列2

     

    近段时间看了一些论坛上面关于分页的ASP程序依然有许多的关注者,但里面只有代码,没有详细的解释,对于初学者来说,这样总是得不到真正的掌握,此次我将针对分页技术进行详解,让大家来理解ASP分页,好了,一起来对分页程序来次透彻的了解吧!

    首先,来看看演示

    看看功能:分页程序首先读取每页预置的记录条数,在此是5条,其它将在下页中显示,同时提示当前页数、总页数、总记录数,当显示的页数为第一页时,“首页”、“上一页”链接失效,当显示的页数为最后页时,“下一页”、“尾页”链接失效。

    接下来,以实例的方式告诉大家怎么一步步的做出这种分页效果。

    首先,数据库中字段record_info存在于info表中(实例下载中有数据库),先链接数据库并将一个记录集打开,以下代码:

    <%
    Set conn=Server.CreateObject("Adodb.Connection")
    connstr="provider=Microsoft.JET.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")
    conn.open connstr
    Set rs=Server.CreateObject("Adodb.Recordset")
    sql="Select * from info"
    rs.open sql,conn,1,1
    %>

    这段代码不详解,相信初入门的都会,具体的解释可以看看《手把手教你用ASP做留言本》教程,

    接下来这是分页中比较重要的部分,了了三行而已:

    <%
    rs.pagesize=5
    curpage=Request.QueryString("curpage")
    if curpage="" then curpage=1
    rs.absolutepage=curpage
    %>

    第二句:rs.pagesize=5,这个什么意思呢?它就是在Recordset对象中的一个内置属性,它的作用是指定每页的记录条数,设置为5时,每5条记录放在一起成一页,比如实例中共有21条记录,那么,使用rs.pagesize分页后,这21条记录将分成5页进行显示。

    第三、四句:这里主要是用于翻页的功能,将URL的post参数curpage传递给curpage变量,这个curpage将得到浏览者想要到达的页数,同时用if语句将没有传递到curpage参数的页直接赋于第一页的值。(运行一下实例就会明白)

    第五句:rs.absolutepage,这个也是个内置的属性,,它代表的意思就是将curpage变量的数值指定为当前页。

    现在开始可以让记录循环显示了:

    <%
    for i= 1 to rs.pagesize
    if rs.eof then
    exit for
    end if
    %>
    <%=rs("record_info")%><br>
    <%
    rs.movenext
    next
    %>

    第二句:
    利用for循环在每页显示rs.pagesize属性中指定的记录数。

    第三、四、五句:
    这句意思是当最后一页达不到指定记录时就退出循环,以免出错。

    第七句:
    绑定从数据库取出的record_info字段,就是叫这字段内的记录循环显示的。

    第九句:
    用rs.movenext方法将rs记录集往下移一条记录。

    第十句:
    for循环语句。

    另外可以用<%=curpage%>读出当前页次,用<%=rs.pagecount%>读出总页数,用<%=rs.recordcount%>读出总记录数。例如:“当前第<%=curpage%>页,共有<%=rs.pagecount%>页,共有:<%=rs.recordcount%>条记录”。

    在显示首页、上页、下页、尾页功能上,采用了if...else...语句,比较好懂。

    <%if curpage=1 then%>
    首页
    <%else%>
    <a href="?curpage=1">首页</a>
    <%end if%>

    <%if curpage=1 then%>
    上一页
    <%else%>
    <a href="?curpage=<%=curpage-1%>">上一页</a>
    <%end if%>

    <%if rs.pagecount<curpage+1 then%>
    下一页
    <%else%>
    <a href="?curpage=<%=curpage+1%>">下一页</a>
    <%end if%>

    <%if rs.pagecount<curpage+1 then%>
    尾页
    <%else%>
    <a href="?curpage=<%=rs.pagecount%>">尾页</a>
    <%end if%>

    理解一下

    • 首页
      这个使用当前页是否为第一页时判别,如果当前为第一页(也就是首页),那么显示首页两字,没有链接,否则提供直接跳转到首页的链接。
    • 上一页
      当前为第一页时,链接失效,反过来,链接到当前面的上一页,这里使用:<%=curpage-1%>,就是用当前的页数减去1,得到上一页。
    • 下一页
      这里需要使用rs.pagecount这个属性来比较,假如总页数小于当前页数加1的值,那表明这就是第后一页,链接将失效,否则链接到下一页。
    • 尾页
      和下一页的功能一样判定出是最后页时链接失效,否则将当前页指定为rs.pagecount(总页数)。
  • 相关阅读:
    html5 geolocation配合百度地图api实现定位
    ES6 Symbol
    es2018(es9)前瞻
    Vue探索历程(一)
    数独游戏的难度等级分析及求解算法研究1——关于数独
    关于谋生的一些想法
    加密的pdf转换为jpg
    数独游戏的难度等级分析及求解算法研究2——数独难度等级
    NSString NSData char* NSInteger的转换
    根据文字多少自动设置UILabel的宽度高度
  • 原文地址:https://www.cnblogs.com/yeye518/p/2231767.html
Copyright © 2011-2022 走看看