最近在做一个aps分页程序,留空的地方,到后面才慢慢补上.
分页程式(1)解决方法(提供解决该问题的思路):1.获取相关参数 if CursorBegin="" then CursorBegin=0 else CursorBegin=request("CursorBegin") 分页里第一条记录ID end if if CursorEnd="" then CursorEnd=10000 else CursorEnd=request("CursorEnd") 分页里最后一条记录 end if if CurpageNum="" then CurpageNum=1 else CurPageNum=request("CurpageNum") 当前的页面 end if if hav="" then hav=next(1) else hav=request("hav") hav(back,next) 指针 end if DefRecordNum 当前页面要显示的记录2.统计总记录与总页数 sql="select * count(ID) from Topic4 " '获取总记录 TotalRecords=rs("ID") '获取总页面 TotalPages=TotalRecords/abs(int(TotalRecords/DefRecordNum*(-1)))3.根据指针的方向,取不同的SQLstr来得记录,并显示分页的记录集 1)back(0) if not rs.eof then TempStr=rs.getrows(DefRecordNum) for i= 0 to ubound(TempStr,2) adID(i)=TempStr(0,ubound(TempStr,2) -i) adBoardID(i)=TempStr(1,ubound(TempStr,2) -i) AdTitle(i)=TempStr(2,ubound(TempStr,2) -i) next end if '记录开始游标与结束游标 CursorBegin =adID(0) CursorEnd =adID(ubound(TempStr,2))
2)next(1) SQLstr="Select Top "&DefRecordNum&" ID,BoardID,Title from Topic4 Where ID>"&CursorEnd& " & Order by ID DESE" set rs=openrecordset(SQLstr) if not rs.eof then TempStr=rs.getrows(DefRecordNum) for i=0 to ubound(TempStr,2) adID(i)=TempStr(0,i) adBoardID(i)=TempStr(1,i) AdTitle(i)=TempStr(2,i) next end if '记录开始游标与结束游标 CursorBegin =adID(0) CursorEnd =adID(ubound(TempStr,2))4.根据记录集的情况选择翻页,并给予相关参数的值 '判断是否有页数或页数否为0 1)if TotalPages<>1 and TotalPages<>0 then '当前页是否大于1 if CurPageNum>1 then '当前页是否小于总页数 if CurPageNum<TotalPages then "首页,上一页,下一页,尾页"都能超链接 else "首页,上一页"有超链接 end if else "下一页,尾页"都有超链接 end if else "首页,上一页,下一页,尾页"都没有链接 end if 2)首页的超链接参数值为CurPageNum=<% = 1%> 尾页的超链接参数值为CurPageNum=<%= TotalPages%>&CurBegin=0&hav=0 上一页的超链接参数值为CurPageNum=<% = CurPageNum -1 %>&CursorBegin=<%=CursorBegin%>&CursorEnd=<%=CursorEnd%>&hav=0" 下一的超链接参数值为CurPageNum=<% = CurPageNum + 1%>&CursorBegin=<%=CursorBegin%>&CursorEnd=<%=CursorEnd%> & hav=1"(2)解决方案(提供解决类似该问题的设计模式)
(3)从特殊到一般的过程