|          
关于ASP分页的问题,对于初学者是一个比较重要的问题,也是各个网站运用最为广泛的技术,下面我就把我总结的一点小经验介绍给大家(写的不好,请大家指点)1.原理:ASP分页其实是将数据库中的记录分割成若干段“分屏显示”
 ,为什么叫“分屏显示”显示,因为其实显示的原始页面只有1页,通过控制数据库显示,来刷新页面的显示内容(可能一些朋友会误会为动态产生若干页面来显示,呵呵,我刚刚学的时候也是这样以为的)
 2.用到的几个函数
 rs.pagesize--->定义一页显示记录的条数
 rs.recordcount--->统计记录总数
 rs.pagecount---->统计总页数
 这几个函数相信大家都很快就明白意识了,不过还有一个函数它的用法可能理解起来难一点
 rs.absolutepage--->将数据库指针移动到当前页要显示的数据记录的第一条记录,比如有20条记录的一个数据库,我们分为10条记录显示一页,当你的页面为2时,通过使用rs.absolutepage将指针移动到第11条记录处,依次类推....
 3.大家明白原理后我们开始来看一段分页的程序,其中的一些文件我就不一一详细讲解了,不明白的朋友可以先看
 
 http://www.2yup.com/asp/forum/branch.asp?pid=55084&pn=5
 --------------------------------------------------
 <!--#include file=conn1.asp-->
 <%
 dim m,n
 set rs=server.CreateObject("adodb.recordset")
 sqlstr="select * from message order by time desc"
 rs.open sqlstr,conn,3,3
 rs.pagesize=10            '定义一页显示的记录数目
 tatalrecord=rs.recordcount  '获取记录总数目
 tatalpages=rs.pagecount    '获取分页的数目
 rs.movefirst
 ----------------------------
 nowpage=request("page")  '用request获取当前页数,注意page是自己定义的变量并非函数
 --------------------------
 if nowpage&"x"="x" then  '处理页码为空时的情况
 nowpage=1
 else
 nowpage=cint(nowpage)  '将页码转换成数字型
 end if
 --------------------------------
 rs.absolutepage=nowpage    '将指针移动到当前显示页的第一条记录
 -------------------------------
 %>
 ---------------------------------------------
 <%
 n=1
 while not rs.eof and n<=rs.pagesize
 response.Write(rs("user") & "<br>")
 response.Write(rs("tt") & "<br>")
 n=n+1
 rs.movenext                        '显示页面的数据
 wend
 %>
 -------------------------------------------
 共:<%=tatalpages%>页 当前为:<%=nowpage%>页
 <%if nowpage>1 then%>
 <a href="fy.asp?page=<%=nowpage-1%>">上一页</a>
 <%else%>
 上一页
 <%end if%>
 <%for k=1 to tatalpages%>
 <%if k<>nowpage then %>
 <a href="fy.asp?page=<%=k%>"><%=k%></a>
 <%else%>
 <%=k%>
 <%end if%>
 <%next%>
 <%if nowpage < tatalpages then%>
 <a href="fy.asp?page=<%=nowpage+1%>">下一页</a>
 <%else%>
 下一页
 <%end if%>                              '加上页码连接
 <%if nowpage<>1 then%>
 <a href="fy.asp?page=<%=1%>"> 首页</a>
 <%else%>
 首页
 <%end if%>
 <%if nowpage<>tatalpages then %>
 <a href="fy.asp?page=<%=tatalpages%>">末页</a>
 <%else%>
 末页
 <%end if%>
 ------------------------------------------------
 这样一个分页的就OK了,呵呵,写的不好的地方请大家指点:)
 |