从后台读取记录,如果数据过多,就需要划分多页去显示,本章就是模仿CDSN来实现该功能的,采用asp动态语言实现的,求喷我,css这部分我完全是copy过来的,只改了一点,我主要完成的是asp后面的代码。本章也是做一个记录,方便后面项目中使用,如上图所示。
新建pagelist.css文件:
/* CSS Document */
.pagelist{clear:both;padding:15px 0;color:#666;font:normal 12px/24px Arial;text-align:center}
.pagelist a{display:inline-block;height:22px;margin:0 2px;padding:0 8px;border:solid 1px #dbe5ee;background:#fff;color:#333;font:normal 12px/22px Arial,Helvetica,sans-serif;cursor:pointer;text-decoration : none;}
.pagelist strong{display:inline-block;height:24px;margin:0 3px;padding:0 8px;border:0;background:#07519a;color:#fff;font-weight:normal;line-height:24px;text-decoration:none}
.pagelist a:hover{height:24px;margin:0 3px;border:0;background:#07519a;color:#fff;line-height:24px;text-decoration:none}
.pagelist a.select{cursor:default}
新建main.css文件:
<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>上一页 下一页</title>
</head>
<link rel="stylesheet" type="text/css" href="pagelist.css" />
<body>
<%@LANGUAGE='VBSCRIPT' CODEPAGE='65001'%>
<div class="pagelist">
<%
dim page,startPos,endPos
dim url
url = "main.asp?page="
page = cint(request.QueryString("page"))
set conn=Server.CreateObject("ADODB.Connection")
conn.open"provider=microsoft.jet.oledb.4.0;data source="&server.mappath("info.mdb")
set rs=server.createobject("adodb.recordset")
sql = "select * from client"
rs.open sql,conn,1,3
rs.pagesize = 2 '每页有多少数据,这里设置为2主要是方便测试
allpage = rs.pagecount '一共有多少页
if page < 1 then page = 1
if page > allpage then page = allpage
rs.absolutepage=page
response.Write("<span> " & cstr(rs.recordcount) & "条数据 共" & cstr(allpage) & "页" & "</span>" + vbcrlf)
if page > 1 then
response.Write("<a href = " & url & "1" &">首页</a>" + vbcrlf)
response.Write("<a href = " & url & cstr(page - 1) &">上一页</a>" + vbcrlf)
end if
startPos = page - 3 '该数字可以更改,自己试试看,我就不表达了,意会就行了
endPos = page + 3
if startPos < 1 then
startPos = 1
elseif startPos > 1 then
response.Write("<a href = " & url & cstr(startPos - 1) & ">...</a>" + vbcrlf)
end if
if endPos > allpage then
endPos = allpage
end if
for i = startPos to endPos
if i = page then
response.Write("<strong>" & cstr(i) & "</strong>")
else
response.Write("<a href = " & url & cstr(i) & ">" & cstr(i) & "</a>" + vbcrlf)
end if
next
if endPos < allpage then
response.Write("<a href = " & url & cstr(endPos + 1) & ">...</a>" + vbcrlf)
end if
if page <> allpage then
response.Write("<a href = " & url & cstr(page + 1) &">下一页</a>" + vbcrlf)
response.Write("<a href = " & url & cstr(allpage) &">尾页</a>" + vbcrlf)
end if
rs.close
conn.close
%>
</div>
</div>
</body>
</html>
这里还需要建立名字为info.mdb的access数据库,在里面添加client的表,添加user字段。