简单高效asp分页程序

<%@ 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
%>
<!doctype html public "-//w3c//dtd html 4.01 transitional//en">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<title>毛虫的快速分页</title>
<link rel="stylesheet" href="page.css" type="text/css">
<script language="javascript">
<!--
function gopage() {
//毛虫的快速分页
//mail:mc@flashado.com
//主页:http://www.flashado.com
//qq:69862476
//本分页供初学者学习,技术上有不当之处,还请各位大侠修正
window.location.href="<%=myself%>?page="+ page.value;
}
//-->
</script>
</head>

<body bgcolor="#f2f2f2" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" height="100%" border="0" cellpadding="20" cellspacing="0">
  <tr>
    <td valign="middle"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
      <tr>
        <td valign="top" bgcolor="#ffffff"><br>          <table width="90%" border="0" align="center" cellpadding="0" cellspacing="0" class="zw">
          <tr>
            <td><strong><font color="#ff6600">毛虫的快速分页</font></strong></td>
          </tr>
        </table>
          <br>
          <table width="90%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="cccccc" class="zw">
            <tr align="center" bgcolor="#9fcb07">
              <td width="9%"><strong>ID</strong></td>
              <td width="37%"><strong>主题</strong></td>
              <td width="33%"><strong>内容(显示前20个字)</strong></td>
              <td width="21%"><strong>时间</strong></td>
            </tr>
<%
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)'填充数据到表格
 %>
      <tr bgcolor="#ffffff">
        <td align="center"><%=rs(0)%></td>
        <td><%=rs(1)%></td>
        <td><%=rs(2)%></td>
        <td align="center"><%=rs(3)%></td>
      </tr>
 <%
  rs.movenext
 wend
 %>
    </table>
    <br>
    <table width="90%" border="0" align="center" cellpadding="2" cellspacing="0" class="zw">
      <tr align="center">
        <td align="left">共有<strong><font color="#ff6600"><%=idcount%></font></strong>条记录,<strong><font color="#ff6600"><%=page%></font></strong>/<%=pagec%>,每页<strong><font color="#ff6600"><%=pages%></font></strong>条。</td>
        </tr>
    </table>         
    <table width="90%" border="0" align="center" cellpadding="2" cellspacing="0" class="zw">
      <tr align="center">
        <td align="right">
        <%
 '设置分页页码开始===============================
 pagenmin=page-pagenc'计算页码开始值
 pagenmax=page+pagenc'计算页码结束值
 if(pagenmin<1) then'如果页码开始值小于1则=1
     pagenmin=1
 end if

 if(page>1) then'如果页码大于1则显示(第一页)
  response.write ("<a href='"& myself &"?page=1'><font color='#000000'>第一页</font></a>&nbsp;") 
 end if
 if(pagenmin>1) then'如果页码开始值大于1则显示(更前)
  response.write ("<a href='"& myself &"?page="& page-(pagenc*2+1) &"'><font color='#000000'>更前</font></a>&nbsp;")
 end if

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

 for i = pagenmin to pagenmax'循环输出页码
     if(i=page) then
  response.write ("<font color='#ff6600'><strong>"& i &"</strong></font>&nbsp;")
     else
  response.write ("[&nbsp;<a href="& myself &"?page="& i &"><font color='#000000'>"& i &"</font></a>&nbsp;]&nbsp;")
     end if
 next
 if(pagenmax<pagec) then'如果页码结束值小于总页数则显示(更后)
  response.write ("<a href='"& myself &"?page="& page+(pagenc*2+1) &"'><font color='#000000'>更后</font></a>&nbsp;")
 end if
 if(page<pagec) then'如果页码小于总页数则显示(最后页) 
  response.write ("<a href='"& myself &"?page="& pagec &"'><font color='#000000'>最后页</font></a>&nbsp;")
 end if
 '设置分页页码结束===============================
 %>
    转到
   <input name="page" type="text" value="<%=page%>" size="5">页
   <input type="button" name="submit" value="跳转" onClick="gopage()"></td>
        </tr>
    </table>
<%
end if
%>
          <br>
          <table width="90%" border="0" align="center" cellpadding="2" cellspacing="0" class="zw">
  <tr>
    <td align="center">
<%
endt=timer()
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
      <%=formatnumber((endt-start)*1000,3)%>毫秒 <br>
      这里可能是0毫秒,但这并不是说这东西真正的0。 </td>
  </tr>
</table>
<br></td>
      </tr>
    </table></td>
  </tr>
</table>
</body>
</html>

时间: 2024-10-24 18:48:57

简单高效asp分页程序的相关文章

简单实用asp.net mssql万能分页程序

简单实用asp教程.net mssql万能分页程序 一.比较万能的分页: sql代码: view sourceprint?1 select top 每页显示的记录数 * from topic where id not in 2  (select top (当前的页数-1)×每页显示的记录数 id from topic order by id desc)  3  order by id desc 需要注意的是在access中不能是top 0,所以如果数据只有一页的话就得做判断了.. 二.sql20

从一个简单的ASP.NET 5站点开启.NET跨平台之旅

  在经历了阿里云上"黑色1秒"的空欢喜之后,我们"被迫"考虑实现.NET的跨平台,将Web服务器由Windows换成Linux.而这种"被迫"在一个存在已久的愿望下,变得水到渠成.这个愿望就是 -- "Mac上写.NET程序,Linux上跑.NET程序". 既然水也到了,渠也成了,那我们还等什么,动身起程吧. 今天我们以我们迈出的第一步--一个部署在Linux上基于dnx/corefx/coreclr的非常简单的ASP.NE

ASP实例:一个简单的ASP无组件上传类

简单的ASP无组件上传类,发出来让大家看看.可以做做实验! 以下为引用的内容: <%@ language="javascript"%><%var self = Request.serverVariables("SCRIPT_NAME");if (Request.serverVariables("REQUEST_METHOD")=="POST"){        var oo = new uploadFile(

简单介绍ASP中Cache技术的应用

cache ASP从发布至今已经7年了,使用ASP技术已经相当成熟,自从微软推出了ASP.NET之后就逐渐停止了对ASP版本的更新.但是由于有很多人仍然习惯使用ASP来开发网站,所以,再次我将以一个简单的例子来说明在ASP中如何使用Cache. 简单的说使用Cache基本原理是,把经常需要且获得代价昂贵的数据在内存中持续保存一定时间,以供这些数据可以被直接地全局地访问.例如,有一些数据需要从数据库多个表中查询获得,且几乎每个页面都要调用这些数据. 这种情况下的最佳实现就是将这部分数据Cache起

最简单的ASP生成静态HTML页的方法[FSO支持]

下面介绍给大家一个最简单的ASP生成静态HTML页的方法,不用模板也能快速生成.比如要生成一个正常的index.asp页面,并且用ASP代码调出数据库中的内容,另建一个makehtml.asp的页面,加入一个textarea域,假设为name="body",将index.asp在textarea里调出来,如:<textarea name="body"><!--#include file="index.asp"--><

使用C# Builder创建一个简单的ASP.NET应用程序

一般网站建设通常要求开发人员做后台的程序设计,前面有专业的美工做界面设计.虽然有时候开发人员也会做些界面设计,但是通常都无法达到专业的要求.在以前的ASP中,由于代码和HTML页面语言混杂在一起,这就使得网站的建设变得相当的困难.但在ASP.NET中,这种情况完全改变了.下面就用C# Builder创建一个简单的ASP.NET应用程序. 打开C# Builder,选择 File>New>other-菜单项,你将会看到下面的窗口: 我们选择C# ASP Projects,你就会看到右边有3种可供

asp net 管理系统-求一个简单的asp的web页面管理系统,只要求实现增删改查就行

问题描述 求一个简单的asp的web页面管理系统,只要求实现增删改查就行 求大神发一个初学者的管理给我,顺带讲解讲解,实在做不出来....................qq:732796124

简单的ASP统计制作实例_应用技巧

我做了一个网站,当然啦,跟大家一样,也摆了个计数器在上面,每天看计数器都在不断的翻,心里很高兴,不过后来我又想,到底是谁看了我的网站啊?是新朋友还是老朋友啊?也不知他们来了多少次,我还想给他们都编上号,于是我申请了 免费统计,不过一连换了N个都不满意,唉,看来,只有自己动手才能丰衣足食了,说干就干,还望高手笑话之于,不访指教. 我以ACCESS库为例子,其实用SQL SERVER库也只要改一下链接库的语句就得啦,库结构如下 库文件名: CONT.ASP 本来是CONT.MDB但在建好后把扩展名改

防黑从基础做起,简单的ASP木马查杀方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 防黑从基础做起.简单的ASP木马查杀方法: 先下载一个文件查找工具:http://www.skycn.com/soft/17964.html 以下是ASP木马部分代吗:========================================================================================