45IT.COM- 电脑学习从此开始!
DIY硬件教程攒机经验装机配置
设计Photoshop网页设计特效
系统注册表DOS系统命令其它
存储主板显卡外设键鼠内存
维修显卡CPU内存打印机
WinXPVistaWin7unix/linux
CPU光驱电源/散热显示器其它
修技主板硬盘键鼠显示器光驱
办公ExcelWordPowerPointWPS
编程数据库CSS脚本PHP
网络局域网QQ服务器
软件网络系统图像安全
页面导航: 首页 > 设计学院 > 网络编程 > ASP教程 >

用ASP做一个分页程序

电脑软硬件应用网 45IT.COM 时间:2005-12-30 19:26 作者:45IT收集

你是否为了你的站点文章过多而反复做链接上一页、下一页这些烦琐的工作发愁呢?现在有了ASP,只要你的主页支持ASP,你就可以很简单的实现对文章的管理了,排序、链接、显示这些工作都让ASP去完成吧!这么轻松的主页维护,你是不是也想试一试呢? 

请看以下实现ASP分页程序的代码: 

<anguage="vbscript" 

dim conn 

dim connstr 

dim totalPut 

dim CurrentPage 

dim TotalPages 

dim i,j 

dim sql 

dim rs 

on error resume next 

'打开数据库 

connstr="DBQ="+server.mappath("book.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" 

set conn=server.createobject("ADODB.CONNECTION") 

conn.open connstr 

set rs=server.createobject("adodb.recordset") 

'定义每页文章显示数 

const MaxPerPage=18 

if not isempty(request("page")) then 

currentPage=cint(request("page")) 

else 

currentPage=1 

end if 

sql="select * from learning order by articleid desc" 

Set rs= Server.CreateObject("ADODB.Recordset") 

rs.open sql,conn,1,1 

if rs.eof and rs.bof then 

response.write "<p align='center'> 还 没 有 任 何 文 章</p>" 

else 

'数据库中文章数totalput 

totalPut=rs.recordcount 

if currentpage<1 then 

currentpage=1 

end if 

'统计总页数currentpage 

if (currentpage-1)*MaxPerPage>totalput then 

if (totalPut mod MaxPerPage)=0 then 

currentpage= totalPut \ MaxPerPage 

else 

currentpage= totalPut \ MaxPerPage + 1 

end if 

end if 

if currentPage=1 then 

showpage totalput,MaxPerPage,"index.asp" 

showContent 

showpage totalput,MaxPerPage,"index.asp" 

else 

if (currentPage-1)*MaxPerPage<totalPut then 

rs.move (currentPage-1)*MaxPerPage 

dim bookmark 

bookmark=rs.bookmark 

showpage totalput,MaxPerPage,"index.asp" 

showContent 

showpage totalput,MaxPerPage,"index.asp" 

else 

currentPage=1 

showpage totalput,MaxPerPage,"index.asp" 

showContent 

showpage totalput,MaxPerPage,"index.asp" 

end if 

end if 

rs.close 

end if 

set rs=nothing 

conn.close 

set conn=nothing 

sub showContent 

dim i 

i=0 

do while not rs.eof 

'选择显示数据库内容 

<a href="openarticle.asp?id=<=rs("articleid")>"><=rs("title")></a>[点击:<=rs("hits")>]<br> 

'当显示记录大于maxperpage时结束这页 

i=i+1 

if i>=MaxPerPage then exit do 

rs.movenext 

loop 

end sub 

function showpage(totalnumber,maxperpage,filename) 

'求出当每页18篇文章时总共的页数 

dim n 

if totalnumber mod maxperpage=0 then 

n= totalnumber \ maxperpage 

else 

n= totalnumber \ maxperpage+1 

end if 

response.write "<form method=Post action="&filename&">" 

response.write "<p align='center'><font color='#000080'>>>分页</font> " 

'显示页数链接的条件 

if CurrentPage<2 then 

response.write "<font color='#000080'>首页 上一页</font> " 

else 

response.write "<a href="&filename&"?page=1&>首页</a> " 

response.write "<a href="&filename&"?page="&CurrentPage-1&">上一页</a> " 

end if 

if n-currentpage<1 then 

response.write "<font color='#000080'>下一页 尾页</font>" 

else 

response.write "<a href="&filename&"?page="&(CurrentPage+1) 

response.write ">下一页</a> <a href="&filename&"?page="&n&">尾页</a>" 

end ifc 

response.write "<font color='#000080'> 页次:</font><strong><font color=red>"&CurrentPage&"</font><font color='#000080'>/"&n&"</strong>页</font>" 

response.write "<font color='#000080'> 共<b>"&totalnumber&"</b>篇文章 <b>"&maxperpage&"</b>篇文章/页</font>" 

response.write " <font color='#000080'>转到:</font><input type='text' name='page' size=4 maxlength=10 class=smallInput value="¤tpage&">" 

response.write "<input class=buttonface type='submit' value=' Goto ' name='cndok'></span></p></form>" 

end function 

  以上代码很简单的就实现了ASP网页的多种分页功能,不论是对浏览者还是管理者都能很方便的浏览和管理,我只在相关部分作了一些解释,象这个ASP程序还必须有数据库的支持才可以,关于数据库的问题我就不详述了,具体的实例大家可以看看我的主页http://aasp.yeah.net)上的文章管理程序,另外还有具体的程序下载! 

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: baidushare.htm
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐知识