[正文]
这只是个asp小技巧类的东西,它虽然适合在每个不同文件名里调用这个函数,但是也是有前提的,下面让我们来仔细看看其中的原委。
下面这段是基本的分页代码:
<% sql = "select……………………省略了sql语句
set rs=server.createobject("adodb.recordset")
rs.open sql, conn, 1, 1
if not rs.eof then
pages = 30 ’定义每页显示的记录数
rs.pagesize = pages ’定义每页显示的记录数
allpages = rs.pagecount’计算一共能分多少页
page = request.querystring("page")’通过浏览器传递的页数
’if语句属于基本的排错处理
if isempty(page) or cint(page) < 1 then
page = 1
elseif cint(page) > allpages then
page = allpages
end if
rs.absolutepage = page
do while not rs.eof and pages > 0 %>
这里输出你要的内容………………
<% pages = pages - 1
rs.movenext
loop
else
response.write("数据库暂无内容!")
end if
rs.close
set rs = nothing %>
系统已经为数据分页了,下面就看看这次探讨的关键问题分页函数的定义
<% sub pageurl(purl)
dim eurl
txts = request.servervariables("url")
txts = left(txts,instrrev(txts,"/",len(txts))-1)
eurl = "http://"; & request.servervariables("server_name") & txts
for i =1 to allpages
txt = ""
txt = "<strong>"
txt = txt & "<a href=" & eurl & purl & "page="&i & ">"
if i = cint(page) then txt = txt & "<font color=’bb0000’>"
txt = txt & (i)
if i = cint(page) then txt = txt & "</font>"
txt = txt & "</a> ∥ </strong>"
response.write(txt)
next
end sub %>
把上面这个分页函数代码copy存成一个asp文件,在需要使用的页面里用include来引入他调用的时候只要 call("/你调用的文件名?")就ok了,比如我的 news页面里要调用那么就是<%call("/news.asp?")%>
刚才我们所到这是有限制的意思就是说第一段代码里除了sql查询内容和输出内容可以更改,其他的声明记录集的对象,page, pages, allpages这些变量都不能更改,否则将无法运行~其实这个程序是无关紧要的,最主要的就是,这个分页函数可以在任何一个asp叶面里调用。分页做的还不漂亮,高手们可以修改修改,能发给我的话我会负责给您发表出来!
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器