主题:[讨论]急救!
xmsrjg
[专家分:40] 发布于 2008-03-24 12:47:00
在一页当中我们会看到好多行的文章的标题,单击便进去,进去看完后往往要返回然后再进才能看到其他的文章内容,现在能不能进去看完具体内容后不返回,而是通过单击"上一个"、“下一个”、“第一个”、“最后一个”来进行查看其他文章的内容呢?[color=FF0000][/color][size=6][/size]
我用到了记录集的AbsolutePositon方法,但好像该命令执行后,就不能再用movenext等能够移动记录指针的命令了呀!
望大家给个思路,谢了!
回复列表 (共5个回复)
沙发
臭石头雪球 [专家分:23030] 发布于 2008-03-24 13:49:00
那些都是链接而已....在当然的记录上设置一个链接,链接地址一般后面有一个 ?id=XX 之类的参数。
将 id=XX 后面的 XX 更改为当前的 id+1 或 -1 就行了。
只是一个链接罢了。
板凳
astous [专家分:100] 发布于 2008-03-25 00:11:00
百度搜下 “asp 分页代码”
参考参考应该就没问题了
3 楼
xmsrjg [专家分:40] 发布于 2008-03-25 09:54:00
多谢一楼和二楼了,但在我的数据库存里同时存放着各种不同类别的内容,他们是以字段为"type"的字段的值来区分的,如TYPE的值为"新闻"的属一类,TYPE的值为"产品"的是另一类,且并不是说TYPE为"新闻"的记录都排在一起,可能中间串插的还的值为"产品"的记录,再说字段为ID的记录的ID值也不一定是不间断的自然数,如1,2,3,4,5,6,7等,很有可能中间的某条如第3条被删了,这样,ID值就成为:1,2,4,5,6,7 ,这样的话,id=id+1或id=id-1可能跳到"沟"里去了呀(如当前在第二条,然后执行了id=id+1,本想成为第三条,但id为3的那条记录已不存在了呀)
4 楼
astous [专家分:100] 发布于 2008-03-25 17:49:00
一:你在查询数据的时候把你要查的类别筛出来,如 select * from database where type="新闻"
二:查询到的数据一般是返回给一个记录集(recordset),假设为rs
通过 while not rs.eof
'do something
rs.movenext
wend
这种方式就不会存在掉进“沟”里的情况
三:recordset对象有一个pagesize属性,当设置了此值时,recordset(rs)对象就会对它所拥有的记录数进行分页,比如它有2000条记录,而你设置pagesize的值为100,那么第1~100条记录是第一页,第101~200条记录是第二页,以此类推。。。
然后recordset对象有个 absolutepage 属性,设置它的值为多少,就会指定到第几页,比如rs.absolutepage=2,那rs的游标就会指向第二页的第一条记录 即第101条记录。
通过 rs.pagesize=100每页大小(每页记录数)
rs.pagecount 由每页大小和总记录数算出页面数
rs.recordcount记录条数
rs.absolutepage 当前页
都可以得到你处理过程中需要的信息
四:你在你的页面上设置一个变量 dim absolutepage
设置它的值为 absolutepage=request("gotothispage")
然后 if absolutepage = "" or absolutepage <=0 than absolutepage =1
并把absolutepage 变量的值赋于rs.absolutepage 即rs.absolutepage =absolutepage
五:以上的工作完成后,怎么达到分页目的呢?
当第一次打开 代码所在页面时,你的URL一般都不带参数,所以absolutepage=request("gotothispage") 是空的,
所以absolutepage=1 即rs.absolutepage =absolutepage =1,页面显示的是第一页。
当给URL后面带上gotothispage参数时,你的页面显示的是gotothispage指定的页数,比如
http://yourserver/yourpage.asp?gotothispage=3
则打开页面是,rs游标指向的是第三页的第一条记录,之后你可以通过 while。。。wend进行循环访问那页的记录数据。
不知讲得能让人明白不?以上是本人愚见
5 楼
xmsrjg [专家分:40] 发布于 2008-03-30 08:22:00
非常感谢4楼朋友,根据你的提醒问题已得到解决,再次感谢了,哥们儿!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
我来回复