请先登录 | 注册
MYCSG.CN
ASP一个另类分页方式 - 文章首页返回版区
■标题:ASP一个另类分页方式
■作者:IPSC [2003/11/1 9:56:47]
『电脑网络』 [程序设计]ASP一个另类分页方式!!!


作者:流浪的蛋壳 提交日期:2003-10-31 22:48:00

<!-- #include file=../func/conns.asp -->’数据连接
  <%
  ’分页开始
  currentpage=request.QueryString(“currentpage“)’取得当前要显示的页数
  IF currentpage=““ Then currentpage=1’如果没有要显示的页数那么显示第一页
  count=20’设置每页显示的记录数
  sql=“select count(id) as s from coolurl“
  set rs=conn.Execute(sql)
  sum=rs(“s“)’取得符合条件的记录的总数
  sql=“select * from coolurl“
  set rs=conn.Execute(sql)’取得符合条件的记录
  page=sum MOD count’把记录总数与每页显示的记录数取余
  IF page=0 OR sum<=count*2 Then pagesize=sum\count Else pagesize=sum\count+1
  ’如果求余结果是0且记录总数小于每页显示的记录的两倍那么所分的页数就是记录总数和每页显示的记录数相整除
  否则就是记录总数整除每页显示的记录数+1
  IF sum<=count Then pagesize=1’如果记录总数小于或者等每天页显示的记录数那么所分的页数就是为1
  IF currentpage<=1 Then m=0 Else m=(currentpage-1)*count’如果要转为的页为1那么记录指针从第一条前面的记录开始移动,如果大于1那么就是要转为的页数-1乘以每页显示的记录数(例:如果一共有十页,每页显示10条记录,我要去第五页那么记录指针就从第(5-1)*10=40条记录上往下移
  rs.move(m)’移动记录指针
  c=1
  While not rs.eof and c<=count’当输出的记录小于每页要显示的记录数和没有到最后一条记录,就循环输出结果!
  %>
  
  <%=rs(“name“)%>’输出结果
   <%
  c=c+1’统计每页输入的记录数
  rs.movenext
  wend
  %>
   总共有<%=sum%>条记录,分<%=pagesize%>页显示,每页显示<%=count%>条记录,当前第<%=currentpage%>页
   <br>
   <%FOR i=1 TO pagesize%><a href=manager_hoturl_m.asp?currentpage=<%=i%> title=去第<%=i%>页><%=i%> <%NEXT%>
   </div>
  </body>
  
  </html>
  <%
  conn.clost
  set conn=nothing
  set rs=nothing
  ’关闭对象
  %>
  
  
  
  当时弄出来的时候很兴奋!但去年发在CSDN被高手们一阵B4>_<!
  
  后来想一下也是!效率太低了!一下子把所有的数据读出来!
  
  如果有百万千万不敢想象哦!
  
  但我想,程序就是要有自己的思维!做过才知道有没有效率!贴来抛砖
  
  引玉看看大家有什么更好的解决方式!不再死死的盯住那一种分页
  
  方式 !!!!!
  
  什么pagesize pagecount :)


作者:流浪的蛋壳 回复日期:2003-10-31 22:56:13
  conn.clost
  
  改为
  
  conn.close


作者:king_cpu 回复日期:2003-10-31 22:56:17
  哦!这就是你的水平!
  高!
  实在是高!


作者:流浪的蛋壳 回复日期:2003-10-31 23:18:54
  傻鸟我现在不和你争!你看得懂再来说话!


作者:笑知识分子 回复日期:2003-10-31 23:51:10
  ....


作者:不能抽的烟 回复日期:2003-11-01 08:31:53
  顶!!!!狂顶,看不懂也顶。


作者:一名 回复日期:2003-11-01 09:30:19
  很简洁的、使用过程的分页显示技术
  
  <!--#include file="conn.asp"-->
  <%
  pages=cInt(request.QueryString("pages"))
  sql ="select * from log order by id desc"
  cmdTemp.CommandText = Sql
  Set RsFindSpec = Server.CreateObject("ADODB.Recordset")
  RsFindSpec.Open cmdTemp, , adOpenStatic, adLockReadOnly
  RsFindSpec.pagesize=50
  nFindSpec = RsFindSpec.RecordCount
  
  if nFindSpec = 0 then
   Response.Write "<TABLE width=770 align=center border=0><TR><td>未发现记录。</td></tr></table>"
  else
  ‘限制当前页码pages的范围
   If pages < 1 Then pages = 1
   If pages > RsFindSpec.PageCount Then pages = RsFindSpec.PageCount
   Response.Write"<TABLE width=770 align=center border=0><TR><td align=center>访问记录</td></tr><tr><td>共发现<font color=#ff0000>" & nFindSpec & "</font>条记录。第"&pages&"页/共"&RsFindSpec.PageCount&"页</td></tr></table>"
  
  ‘调用过程显示内容
  showonepage
  %>
  
   <TABLE width=770 align=center border=0><TR><td>
   <%if RsFindSpec.pagecount>1 then
   pages=0
   for i=1 to RsFindSpec.pagecount
   pages=pages+1%>
   <A HREF="log.asp?pages=<%=pages%>">[<%=pages%>]</A>
   <%next
   end if%>
   </td></tr></table>
  <% end if %>
  
  <%sub showonepage%>
  <TABLE width=770 cellSpacing=0 borderColorDark=#ffffff cellPadding=0 align=center bgColor=#fff4ed borderColorLight=#ffbb99 border=1>
   <TR BGCOLOR=#ffbb99 align="center">
   <td align=middle class="text2" width="40">序号</td>
   <td align=middle class="text2">IP地址</td>
   </TR>
  
   <TR bgcolor="<%=bgcolor%>">
   <TD valign="top"><%=rowcount+1+(pages-1)*RsFindSpec.pagesize%>&nbsp;</TD>
   <TD valign="top"><%=trim(RsFindSpec("login_ip"))%>&nbsp;</TD>
   </TR>
  
   <%
   rowcount=rowcount+1
   RsFindSpec.MoveNext
   loop
   %>
  </TABLE>
  <%end sub%>



作者:IPSC

图片链接:HTTP://



. 非注册用户不能发表文章。未注册用户请返回社区首页注册。
. 请确认您发表的言论遵守帼家法律法规、本社区规则,并符合本栏目的主旨。
. 作者文责自负。

如果您觉得该帖不值得大家拜读,请推荐标记
接收邮件地址: 关 闭




Copyright&copy;2003 天涯在线网络科技有限公司 版权所有

转载文章请注明出自“天涯虚拟社区”


s < 1 Then pages = 1
   If pages > RsFindSpec.PageCount Then pages = RsFindSpec.PageCount
   Response.Write"<TABLE width=770 align=center border=0><TR><td align=center>访问记录</td></tr><tr><td>共发现<font color=#ff0000>" & nFindSpec & "</font>条记录。第"&pages&"页/共"&RsFindSpec.PageCount&"页</td></tr></table>"
  
  ‘调用过程显示内容
  showonepage
  %>
  
   <TABLE width=770 align=center border=0><TR><td>
   <%if RsFindSpec.pagecount>1 then
   pages=0
   for i=1 to RsFindSpec.pagecount
   pages=pages+1%>
   <A HREF="log.asp?pages=<%=pages%>">[<%=pages%>]</A>
   <%next
   end if%>
   </td></tr></table>
  <% end if %>
  
  <%sub showonepage%>
  <TABLE width=770 cellSpacing=0 borderColorDark=#ffffff cellPadding=0 align=center bgColor=#fff4ed borderColorLight=#ffbb99 border=1>
   <TR BGCOLOR=#ffbb99 align="center">

回复/版区/上篇/下篇/发贴/仅文字/HTML
【倒序/最近21条回复】(暂无)
(查看完整版网页)



短讯|首页|登录|算法|电脑版 .
DK MiniBBS Plus v2.0
mm0759.com
93 毫秒 .