[简单的字]简单高效asp分页程序

更新时间:2016-01-02    来源:元旦图片    手机版     字体:

【www.bbyears.com--元旦图片】

<%@ 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
%>




毛虫的快速分页

<script language="javascript">

</script>



 
   
     
       
         
         
            毛虫的快速分页
         
       
         

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

   
     
        共有<%=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。
 



     
   
 


本文来源:http://www.bbyears.com/ps/20664.html

猜你感兴趣