菜鸟求asp数字分页问题

效果如下:

首页 上一页 [1][2][3][4][5][6][7][8][9][10] 下一页 尾页

上面是希望效果
下面是我页面代码,高手请指教,如果解决还有分加

<%
dim classcode
classcode=request("classcode")
set rs=server.createobject("adodb.recordset")
sql="select id,Img_Name,key_num,SmallImg,ClassID,style_no,Content,Img_Name,isnew,newtime,Content from products where ClassID="&classcode&" order by key_num"
rs.open sql,conn,1,1
if not isempty(request("page")) then
pagecount=cint(request("page"))
else
pagecount=1
end if
rs.pagesize=25
rs.AbsolutePage=pagecount
%>
<% response.write"<form method=Post action='?classcode="&classcode&"'>"
response.write "<font color='#0000600'></font>"
if pagecount=1 then
response.write "<table width='505' border='0' cellspacing='0' cellpadding='0'>"
response.write "<tr><td align='right'>"
response.write "<img src=images/previous02.gif border=0> <img src=images/previous12.gif border=0> "
else
response.write "<table width='505' border='0' cellspacing='0' cellpadding='0'>"
response.write "<tr><td align='right'>"
response.write "<a href=test.asp?page=1&classcode="&classcode&"><img src=images/previous0.gif border=0></a> "
response.write "<a href=test.asp?classcode="&classcode&"&page="+cstr(pagecount-1)+"><img src=images/previous1.gif border=0></a> "
end if
if rs.PageCount-pagecount<1 then
response.write "<img src=images/previous22.gif border=0> <img src=images/previous32.gif border=0> "
response.write "</td><td valign='top'>"
else
response.write "<a href=test.asp?classcode="&classcode&"&page="+cstr(pagecount+1)+"><img src=images/previous2.gif border=0></a> "
response.write "<a href=test.asp?classcode="&classcode&"&page="+cstr(rs.PageCount)+"><img src=images/previous3.gif border=0></a> "
response.write "</td><td valign='top'>"
end if
response.write " <input type='text' name='page' size=2 maxLength=3 style='font-size: 9pt; position: relative; height: 18' value="&PageCount&"> "
response.write "<input class=button type='submit' value='Submit' onclick=checks() style='font-family: Arial; font-size: 8pt; position: relative; height: 19'>"
response.write "</td></tr></table>"%>

在公司只能偷偷的写下 希望你能看明白-page为显示的页数
dim firstpage,lastpage,x
firstpage=page-5 '假设 页总数为 10 当前为6页 则初始为1 末页11
lastpage=page+5

if firstpage<1 then '如果初始小于1 则将初始设置为1
firstpage=1
end if
if lastpage>allpage then '如果末页大于总页数 则末页为总页数
lastpage=allpage
end if

if firstpage>1 then '是否显示第一页,如果当前数字导航中不出现1的情况
response.write vbcrlf+ "<a href=?page=1>第一页</a> "
end if

if page>1 then '如果当前页不是第一页则输出上一页的链接cstr返回数字字符串
response.write vbcrlf+ "<a href=?page="+cstr(page-1)+">上一页</a> "
end if
for x=firstpage to lastpage '循环输出数字导航,从初始到末页
if x=page then '如果数字导航为当前页的时候 导航加红
response.write vbcrlf+ "<a href=?page="+cstr(x)+"><font color=red>"+cstr(x)+"</font></a> "
else
response.write vbcrlf+ "<a href=?page="+cstr(x)+">"+cstr(x)+"</a> "
end if
next
if page< allpage then '如果当前页不为最后一页,则输出下一页的链接
response.write vbcrlf+ "<a href=?page="+cstr(page+1)+">下一页</a> "
end if
if lastpage<allpage then
response.write vbcrlf+ "<a href=?page="+cstr(allpage)+">末页</a> "
end if
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-11-19
建立access的数据库news,还有表news,表的字段(id,title),id唯一,输入数据保存,用下面代码可查询,可分页
-----------------------下面保存为search.asp--------------------------
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>文件</title>
</head>
<body bgcolor="#ffffff">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<script>
function btn_ck_bh_Click()
{
var cx = document.form1.cxsj.value;
form1.action ="search.asp?cx="+cx;
}
</script>
<table border="1" cellspacing="0" bgcolor="#F0F8FF" bordercolorlight="#4DA6FF" bordercolordark="#ECF5FF" width="88%" style="word-break:break-all">
<tr>
<td width="778" align="center" colspan="7">
<form method="POST" name="form1" action=search.asp>
<p>输入搜索内容:<input type="text" name="cxsj" size="20"><input type="submit" value="提交" name="B1" LANGUAGE="javascript" onclick="btn_ck_bh_Click()">
<input type="reset" value="重写" name="B2"></p>
</form>
</td>
</tr>
</table>
<table border="1" cellspacing="0" bgcolor="#F0F8FF" bordercolorlight="#4DA6FF" bordercolordark="#ECF5FF" width="88%" style="word-break:break-all">
<tr>
<td width="8%" align="center"><strong><font color="#0080C0">ID 号</font></strong></td>
<td width="58%" align="center"><strong><font color="#0080C0">标 题</font></strong></td>
<td width="8%" align="center"><strong><font color="#0080C0">修 改</font></strong></td>
<td width="8%" align="center"><strong><font color="#0080C0">删 除</font></strong></td>
</tr>
<%
'数据库查询
'获得搜索内容
cx = request("cx")
dim pageCount
'把page转换成整数
page = cint(request("page"))
set conn=server.createobject("adodb.connection")'
set rs=server.createobject("adodb.recordset")
conn.open "DBQ=" & server.mappath("./news.mdb") & ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

' 获取产品的名字记录集(从 news表中)
if cx <> "" then
sql = "select * from news where title like '%"&cx& "%' order by id desc"
else
sql ="select * from news order by id desc"
end if
rs.open sql,conn,3,3
'如果没有数据记录
if rs.bof then
errmsg=errmsg+"<br>"+"<li>"+keyword+"没有记录,请返回!!"
response.write errmsg
response.end
end if

' 设置记录集在每页的总行数,也就是 PageSize属性
RS.PageSize=40
'把rs.pageCount转换成整数和page才能作比较
pageCount = cint(rs.pageCount)
' 设置当前的页号( AbsolutePage属性)
if page = 0 then
page =1
end if
RS.AbsolutePage = page
x=1
' 显示当前页中的所有记录( PageSize中设置的行数)

WHILE NOT RS.EOF AND NumRows<RS.PageSize
%>
<tr onmouseover="this.bgColor='#99ccff'" onmouseout="this.bgColor=''">
<td width="8%"><p align="center"><%=rs("id")%></td>
<td width="58%"><a href="view.asp?id=<%=rs("id")%>" target="_blank"><%=rs("title")%></a></td>
<td width="8%" align="center"><a href="edit.asp?id="<%=rs("id")%>>修 改</a></td>
<td width="8%" align="center"><a href="delet.asp?id="<%=rs("id")%>>删 除</a></td>
</tr>
<%RS.MoveNext
NumRows=NumRows+1
WEND%>
<tr onmouseover="this.bgColor='#99ccff'" onmouseout="this.bgColor=''">
<td width="105%" align="center" colspan="6"> </td> </tr>
<tr>
<td width="105%" align="center" colspan="6">
<p align="center"><FONT color=#333333>共<%=PageCount%>页 第<%=page%>页★
<%if page=1 then%>首页<%end if%>
<%if page>1 then%>
<A HREF="search.asp?page=1&cx=<%=cx%>"> 首页</A>
<%end if%>★
<%if page>1 then%><A HREF="search.asp?page=<%=page-1%>&cx=<%=cx%>"><%end if%>上一页</a>
<%
dim pagewhere
dim p
p = 1
'把pagewhere转换成整数
'pagewhere = cint(request("pagewhere"))
pagewhere = pageCount
if pagewhere>0 then
for p=1 to pagewhere
if p <> page then%>
<A HREF="search.asp?page=<%=p%>&cx=<%=cx%>"><%=p%></a>
<%end if
if p =page then%>
<%=p%>
<% end if
next
end if%>
<%if page < PageCount then%>
<A HREF="search.asp?page=<%=page+1%>&cx=<%=cx%>">
<%end if %>下一页</A>★
<%if page=PageCount then%>尾页
<%end if%>
<%if page<PageCount then%>
<A HREF="search.asp?page=<%=PageCount%>&cx=<%=cx%>"> 尾页</A>
<%end if%>
</p></FONT></td> </tr> <tr>
<td width="105%" align="center" colspan="6">搜索内容:<%=cx%></td>
</tr>
</table></center></div>
</body></html>
<%
rs.close
Set rs=nothing
conn.close
set conn=nothing
%>
第2个回答  2009-11-19
百度一下 Kin_Db_Pager 分页

不错的asp分页类,自带多种风格

菜鸟求asp数字分页问题
if firstpage>1 then '是否显示第一页,如果当前数字导航中不出现1的情况 response.write vbcrlf+ "第一页 "end if if page>1 then '如果当前页不是第一页则输出上一页的链接cstr返回数字字符串 response.write vbcrlf+ "上一页 "end if for x=firstpage to lastpage '循环输出...

asp分页的问题,想分成5行4列每页!求救,在线等
<a href="Show_corporation.asp?sheng=<%=rs0("id")%>" Title='姓名:<%=rs0("xingming")%> 年龄:<%=rs0("nianling")%> 性别:<%=rs0("xingbie")%> 家住:<%=rs0("zhuzhi")%> 想说:<%=rs0("hua")%>'><%=rs0("xingming")%> <% r=r+1 rs0.movenext end if ...

ASP 内容分页代码。
page =int(Request.QueryString("page"))set rs=server.createobject("adodb.recordset")if session("tbyhm")<>"" or session("tbjb")="admin" then exec="select * from info order by id desc"rs.open exec,conn,1,1 rs.PageSize =30 If page < 1 Then page = 1 If page > rs...

asp中一个分页程序错误,求高手ADODB.Recordset (0x800A0CB3)
当前记录集不支持书签。这可能是提供程序或选定的游标类型的限制。rs.open "select * from mykuaye",conn,1,1 这里的指针类型错误 改成rs.open "select * from mykuaye",conn,1,3 就可以了 你的指针类型不支持rs.AbsolutePage,自然会在那里报错,...

ASP文章过长自动分页代码
假设每页显示字数:8个 那么,总页数=Len(text)\/8 这里注意:如果文字总数不能被8整除,说明有余数,这样的话,无论如何都要+1,而不是四舍五入。如当前是2(3\/8) 也就是2+1=3页 if page=0 then page=1 if page>3 then page=3 response.write Mid(text,(page-1)*8+1,8)这样的分...

做一个简单的ASP分页程序
本程序主要用到Connection、RecordSet这两个对象,程序中的数据库为Access库,采用OLEDB方式连接库。这个东西是作为菜鸟的我弄的一个东西.你可以对这个东西不屑一顾.但是请记住: 菜鸟也有这个权利把自己的心得体会附注文字贡献出来...当然,技术方面真的是好菜的..一些ASP中的比较正统的中规中矩的方法.我...

ASP问题-定义显示数量,分页时出错,高手请进! 20分
看了半天才看明白你所说的问题 我不清楚你这里 hang=flsl '显示的行数 l=fll '显示的列数 行列设置的是多少?还有一个地方 MaxShangpinList=2 你就设置为2?恩你设置成那样有没有什么变化?

ASP怎么实现长文章分页
一、你在你的新闻内容中插入一个分布标签比如:[NewsPages],你想要到哪里分页,就到哪个地方插入这个标签,然后再在你输入新闻内容的时候按 [NewsPages]这个标签来分隔内容就可以了。二、就是按字数来进行分页,比如你想新闻按1000字每页来分,你可以在程序里来按1000字来分隔新闻的内容,以达到分页效果...

asp代码 下一页不能跳转 高手请来
<a href="gouwu.asp?tuid=<%=rs(0)%>"> <%rs.movenext if rs.eof then exit for end if next > < i=i+1 wend > 判断分页:< if page1<>1 then > \/\/如果page1<>1则显示“第一页”的链接同时传空值 第一页 <%end if if page1<>1 then > \/\/如果page1<>...

求ASP分页代码!!如下要求的!
sql="select top 4 * from info"rs.open sql,conn,1,1 do until rs.eof > = rs("biaoti")%> <%=rs("neirong")%> < rs.movenext loop >

相似回答
大家正在搜