一聚教程网:一个值得你收藏的教程网站

热门教程

简单高效asp分页程序

时间:2022-07-02 23:11:05 编辑:袖梨 来源:一聚教程网

<%@ language = "vbscript" codepage = 936%>
<%
'==========================================================================
dim idcount'记录总数
dim pages'每页条数
dim pagec'总页数
dim page'页码
dim pagenc '每页显示的分页页码数量=pagenc*2+1
pagenc=2
dim pagenmax '每页显示的分页的最大页码
dim pagenmin '每页显示的分页的最小页码
page=clng(request("page"))
dim start'程序开始的时间
dim endt'程序结束的时间
dim datafrom'数据表名
datafrom="table1"
dim conn,rs
dim datapath '数据库路经
dim sqlid'本页需要用到的id
dim myself'本页地址
myself = request.servervariables("path_info")
dim sql'sql语句
dim taxis'排序的语句
taxis="order by id asc"
dim i'用于循环的整数
start=timer()
datapath="db.mdb"
pages=30

'连接打开数据库
dim db
db="db.mdb"     '定义数据库路径及名称
set conn = server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath(db)
if err.number <> 0 then
   response.write "数据库链接出错!"
   response.end()
end if

'获取记录总数
sql="select count(id) as idcount from ["& datafrom &"]"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,0,1
idcount=rs("idcount")'获取记录总数

if(idcount>0) then'如果记录总数=0,则不处理
 if(idcount mod pages=0)then'如果记录总数除以每页条数有余数,则=记录总数/每页条数+1
  pagec=int(idcount/pages)'获取总页数
 else
  pagec=int(idcount/pages)+1'获取总页数
 end if

 '获取本页需要用到的id============================================
 '读取所有记录的id数值,因为只有id所以速度很快
 sql="select id from ["& datafrom &"] " & taxis
 set rs=server.createobject("adodb.recordset")
 rs.open sql,conn,1,1

    rs.pagesize = pages '每页显示记录数
    if page < 1 then page = 1
    if page > pagec then page = pagec
    if pagec > 0 then rs.absolutepage = page 

 for i=1 to rs.pagesize
 if rs.eof then exit for 
  if(i=1)then
   sqlid=rs("id")
  else
   sqlid=sqlid &","&rs("id")
  end if
 rs.movenext
 next
 '获取本页需要用到的id结束============================================
end if
%>




毛虫的快速分页
css" type="text/css">



 
   
 

     
       
     
   

         
         
           
         
       
毛虫的快速分页

         

         
           
             
             
             
             
           
<%
if(idcount>0 and sqlid<>"") then'如果记录总数=0,则不处理
 '用in刷选本页所语言的数据,仅读取本页所需的数据,所以速度快
 sql="select [id],[aaaa],[bbbb],[cccc] from ["& datafrom &"] where id in("& sqlid &") "&taxis
 set rs=server.createobject("adodb.recordset")
 rs.open sql,conn,0,1

 while(not rs.eof)'填充数据到表格
 %>
     


       
       
       
       
     
 <%
  rs.movenext
 wend
 %>
   
ID主题内容(显示前20个字)时间
<%=rs(0)%><%=rs(1)%><%=rs(2)%><%=rs(3)%>

   

   
     
       
       
   
共有<%=idcount%>条记录,<%=page%>/<%=pagec%>,每页<%=pages%>条。
         
   
     
       
       
   

        <%
 '设置分页页码开始===============================
 pagenmin=page-pagenc'计算页码开始值
 pagenmax=page+pagenc'计算页码结束值
 if(pagenmin<1) then'如果页码开始值小于1则=1
     pagenmin=1
 end if

 if(page>1) then'如果页码大于1则显示(第一页)
  response.write ("第一页 ") 
 end if
 if(pagenmin>1) then'如果页码开始值大于1则显示(更前)
  response.write ("更前 ")
 end if

 if(pagenmax>pagec) then'如果页码结束值大于总页数,则=总页数
     pagenmax=pagec
 end if

 for i = pagenmin to pagenmax'循环输出页码
     if(i=page) then
  response.write (""& i &" ")
     else
  response.write ("[ "& i &" ] ")
     end if
 next
 if(pagenmax   response.write ("更后 ")
 end if
 if(page   response.write ("最后页 ")
 end if
 '设置分页页码结束===============================
 %>
    转到
   
   


<%
end if
%>
         

         
 
   
 

<%
endt=timer()
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
      <%=formatnumber((endt-start)*1000,3)%>毫秒

      这里可能是0毫秒,但这并不是说这东西真正的0。




热门栏目