问一个关于数据库记录分页显示的问题
我的代码如下:
<%
connstr="DBQ="+server.mappath("data/jfarticle.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Set conn=Server.CreateObject("ADODB.CONNECTION")
conn.open connstr
%><table width="80%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> </td>
</tr>
</table>
<table width="75%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#FF0000">
<tr>
<td width="5%" height="25" align="center" bgcolor="#FF0000"><span class="style1">ID</span></td>
<td width="29%" align="center" bgcolor="#FF0000"><span class="style1">新闻标题</span></td>
<td width="10%" align="center" bgcolor="#FF0000"><span class="style1">发布者</span></td>
<td width="13%" align="center" bgcolor="#FF0000"><span class="style1">所属一级分类</span></td>
<td width="15%" align="center" bgcolor="#FF0000"><span class="style1">所属二级分类</span></td>
<td width="18%" align="center" bgcolor="#FF0000"><span class="style1">发布日期</span></td>
<td width="10%" align="center" bgcolor="#FF0000"><span class="style1">操作</span></td>
</tr>
<%
page=clng(request("page"))
Set rs=Server.CreateObject("ADODB.RecordSet")
sql="select * from NEWS order by id desc"
rs.Open sql,conn,1,1
if rs.eof and rs.bof then
response.Write("没有记录")
else
rs.PageSize=10
if page=0 then page=1
pages=rs.pagecount
if page > pages then page=pages
rs.AbsolutePage=page
for j=1 to rs.PageSize
%>
<tr bgcolor="#FFFFFF">
<td height="22" align="center"><%=rs("id")%></td>
<td>
<% if rs("imagenum")<>"0" then response.write "<img src='../images/news.gif' border=0 alt='图片新闻'>" end if %>
<a href="../NEWS.asp?id=<%=rs("id")%>" target="_blank" title="<%=rs("title")%>"><%=left(rs("title"),12)%></a></td>
<td align="center"><%=left(rs("user"),5)%></td>
<td align="center"><%=rs("BigClassName")%> </td>
<td align="center"><%=rs("SmallClassName")%></td>
<td align="center"><%=rs("infotime")%></td>
<td align="center"><a href="admin_infomodi.asp?id=<%=rs("id")%>">修改</a> <a href="admin_infodel.asp?id=<%=rs("id")%>">删除</a></td>
</tr>
<%
rs.movenext
if rs.eof then exit for
next
%>
</table>
<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> </td>
</tr>
<tr bgcolor="#FFFFFF">
<form method=Post action="admin_info.asp">
<td height="30" align="center">
<%
response.write "<a href=fenye.asp?page=1>首页</a> "
%>
<%
if page=1 then
Response.Write"上一页"
else
Response.Write"<a href=fenye.asp?page="&page-1&">上一页</a>"
end if
%>
<%for j=page-4 to page-1%>
<%if j>0 then%>
<a href="fenye.asp?page=<%=j%>"><%=j%></a>
<%end if%>
<%next%>
<%
for j=page to page+4
%>
<% if j<=pages then%>
<%if j=page then%>
<a href="fenye.asp?page=<%=j%>">[<%=j%>]</a>
<%else%>
<a href="fenye.asp?page=<%=j%>"><%=j%></a>
<%end if%>
<%end if%>
<% next
%>
<%if page<pages then%>
<a href="fenye.asp?page=<%=page+1%>">下一页</a>
<%else%>
下一页
<%end if%>
<%
response.write "<a href=fenye.asp?page="&rs.pagecount&">尾页</a>"
%>
</td></form>
</tr>
</table>
<%
end if
rs.close
set rs=nothing
%>
我的数据库表(表名:News)结构是:
id(自动增加) title(文本) BigClassName(文本) SmallClassName(文本) infotime(日期)
我想要达到的显示效果是:
上一页xxxx下一页
就是只显示5个页码.
但是我运行时,假设记录有6页,我运行的初始格式是:首页上一页12345下一页尾页
当我点到第2页时,却显示出首页上一页123456下一页尾页,一下子显示了6个页码
我有什么地方设置的有问题吗?
请高手帮忙指出.
谢谢!