找回密码
 注册
搜索
楼主: 七彩焰阳

十天学会ASP

[复制链接]
 楼主| 发表于 2009-6-22 00:30:20 | 显示全部楼层
十天学会asp之第十天


学习目的:分页技术,总结
    今天最后一天我们学习一下ASP里面稍微难一点地分页技术,毕竟当我们有N条记录的时候我们不可能把所有记录显示在一个页面里面吧。
  1. <%
  2. exec="select * from test"
  3. set rs=server.createobject("adodb.recordset")
  4. rs.open exec,conn,1,1
  5. rs.PageSize=3
  6. pagecount=rs.PageCount
  7. page=int(request.QueryString ("page"))
  8. if page<=0 then page=1
  9. if request.QueryString("page")="" then page=1
  10. rs.AbsolutePage=page
  11. %>
复制代码
rs.pagesize设置一个页面里面显示的记录数,pagecount是我们自己定义的一个变量,rs.pagecount是记录的个数,page也是我们自己定义的一个变量,我们下一页的链接能设置为list.asp?page=<%=page+1%>,下一页的链接能设置为list.asp?page=<%=page-1%>,这样当按下链接的时候调用页面自己,page这个变量就+1或-1了,最后我们让rs.absolutepage(当前页面)为第page页就能了。
if request.QueryString("page")="" then page=1,这句话的作用就是我们打开list.asp的时候没有跟随page变量,自动设置为page=1,防止出错,更有当我们if....then...放在一行的时候end if能省略。是不是分页也不难?
下面说一种特别情况:
if page=1 and not page=pagecount,这个时候没有上一页,不过有下一页
elseif page=pagecount and not page=1,这个时候没有下一页,不过有上一页
elseif page<1,这个时候没有所有记录
elseif page>pagecount then,这个时候没有所有记录
elseif page=1 and page=pagecount,这个时候没有上一页,没有下一页
else,这个时候有上一页,也有下一页。
下面看一段显示1到n页,且每一个数字点击以后就出现这个数在代表的页面的代码,非常常见哦。
  1. <%for i=1 to pagecount%>
  2. <a href="list.asp?page=<%=i%>"><%=i%></a><%next%>
复制代码
for....next是循环从i=1开始,循环一次加1到pagecount为止。

最后我的实例里面包含了一个最简单的ASP程式,不过功能样样有,是ASP的精髓,每一个ASP大型程式都包含了他。
add.htm增加记录页面
add.asp增加记录操作
conn.asp数据库链接
del.asp删除记录操作
modify.asp修改记录页面
modifysave.asp修改记录操作
list.asp这个是这个程式的核心,通过这个页面实现记录的添加、修改、删除。
test.mdb数据库,里面有aa,bb两个字段:aa数字型只能接受数字,bb是字符型。
好了,十天到今天就结束了,我想我这个教程是让大家入门的,大家觉得写的浅也不要责怪必尽不可能初学者和高手都照顾到吧,最后我想说一句,今天的实例是ASP的精华,大家一定要好好研究,通了这个程式,你会发现你已会ASP了。谢谢大家的支持!
回复

使用道具 举报

 楼主| 发表于 2009-8-14 04:55:56 | 显示全部楼层
  这个一定要慢慢看~ 都是要经常用的东西!!!
回复

使用道具 举报

发表于 2009-10-9 02:00:20 | 显示全部楼层
  好长啊~ 收藏起来慢慢看!
回复

使用道具 举报

发表于 2010-3-4 19:16:09 | 显示全部楼层
oh!magat!!!  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|QQ客服|联系我们|Archiver|手机版|小黑屋|悉远网络 ( 鄂ICP备09013446号 )

GMT+8, 2024-11-24 10:20 , Processed in 0.041475 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表