一个瀑布流的动态分页代码


关键词

瀑布流 动态代码 分页

摘要

本文介绍一个瀑布流的动态页面,瀑布流是有一段前台js代码和一个后台动态分页页面构成的,这个动态页面用于ajax获取数据。


前台的js代码这里就不介绍了,我们只看后台的动态分页代码。这里我们用的是asp程序来演示效果。

我们接收的参数有只一个,那就是page,值是一个数字,这表示第page页的数据。

我们要输出的结果格式如下:
[{"id":"id的值","title":"title的值","image":"image的值","preview":"preview的值","content":"content的值"},{第二个json},{第d三个json},,,]

具体代码如下:

<!--#include file="config.asp"-->
<%

sql="select * from tb_Image where log_CateId=2"
rs.open sql,conn,1,1
If Not rs.EOF Then
 rs.pagesize=20
 dim page: page = Trim(request.Querystring("page"))
 If Not IsNumeric(page) Then
  page = 1
 Else
  page = CInt(page)
 End If
 if page<1 then page=1
 if page>rs.pageCount then RspEnd "[]"
 rs.absolutepage=page
 totalrecord=rs.recordcount
 pageCount=rs.PageCount
End If

If Not rs.EOF Then
 Dim tmp: tmp=""
 Do While Not rs.EOF
  If tmp="" Then
   tmp = GetOutputJson(rs("log_id"),rs("log_Title"),rs("log_Col1"),rs("log_Content"))
  Else   
   tmp = tmp & "," & GetOutputJson(rs("log_id"),rs("log_Title"),rs("log_Col1"),rs("log_Content"))
  End If

  rs.MoveNext
 Loop
 RspW "[" & tmp & "]"
End If
rs.close: conn.close


Function GetOutputJson(id,title,image,content)
 Dim tmp: tmp=""
 tmp = tmp & "{""id"":" & id
 tmp = tmp & ",""title"":""" & title & """"
 tmp = tmp & ",""image"":""" & image & """"
 tmp = tmp & ",""preview"":""" & image & """"
 tmp = tmp & ",""content"":""" & content & """}"
 GetOutputJson = tmp
End Function
%>

最后,在这个动态分页页面中要注意,如果是传入的page值大于当前记录集中的pageCount时,就不要输出内容(或者说只输出“[]”)。我们一般在做分页的时候,喜欢这样去设置:当page值>rs.pageCount时,设置page=rs.pageCount。这种做法,在瀑布流中就会出问题,会出现整个瀑布流永远无穷无尽的情况。有兴趣的朋友可以去试一下,将if page>rs.pageCount then RspEnd "[]" 这句改为if page>rs.pageCount then page=rs.pageCount,你的瀑布流将流不尽了:)

 

文章的版权

洪哥写文章很苦逼,如果本文对您略有帮助,点击感兴趣的广告支持洪哥!万分感谢!本文属于“洪哥笔记”原创文章,转载请注明来源地址:一个瀑布流的动态分页代码:http://www.splaybow.com/post/pubuliu-dongtai-daima.html

关注与收藏

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:115085382!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D


« 根据多个条件参数化查询一个记录集的ASP数据库操作函数 Kindeditor自带ASP的JSON类 »

相关文章: