ASP分页程序读取数据库问题
从网上找了一个简单的ASP分页程序,而且还符合我的要求,但是就是出现一个问题,只能显示一页的内容,再点下一页和转到某一页都是第一页的内容,其他页的内容都没有了,请问这是怎...
从网上找了一个简单的ASP分页程序,而且还符合我的要求,但是就是出现一个问题,只能显示一页的内容,再点下一页和转到某一页都是第一页的内容,其他页的内容都没有了,请问这是怎么回事啊,请大家帮忙解决一下,谢谢了!代码如下:
<%
Set conn = Server.CreateObject("ADODB.Connection")
strcon="provider=microsoft.jet.oledb.4.0;data source="& _
server.mappath("../0791idc.mdb")
conn.Open strcon
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from news order by id desc"
rs.Open sql, conn, 1
dim currentpage '定义当前页
dim filename '文件名
Const MaxPerPage=20 '每页显示的记录个数
dim totalnumber '记录总数
filename="news.asp"
totalnumber=20 '设置记录总数为200
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
showpages totalnumber,MaxPerPage,filename
'定义分页的函数,以totalnumber,maxperpage,filename作为函数的入口。
function showpages(totalnumber,maxperpage,filename)
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'>"
if CurrentPage<2 then
response.write "<font color='999966'>首页 上一页</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='999966'>下一页 尾页</font>"
else
response.write "<a href="&filename&"?page="&(CurrentPage+1)
response.write ">下一页</a> <a href="&filename&"?page="&n&">尾页</a>"
end if
response.write " 页次:<strong><font color=red>"&CurrentPage&"</font>/"&n&"</strong>页 "
response.write " 转到:<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,还请详细介绍一下怎么设置当前页AbsolutePage和pagesize啊! 展开
<%
Set conn = Server.CreateObject("ADODB.Connection")
strcon="provider=microsoft.jet.oledb.4.0;data source="& _
server.mappath("../0791idc.mdb")
conn.Open strcon
Set rs = Server.CreateObject ("ADODB.Recordset")
sql="select * from news order by id desc"
rs.Open sql, conn, 1
dim currentpage '定义当前页
dim filename '文件名
Const MaxPerPage=20 '每页显示的记录个数
dim totalnumber '记录总数
filename="news.asp"
totalnumber=20 '设置记录总数为200
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
showpages totalnumber,MaxPerPage,filename
'定义分页的函数,以totalnumber,maxperpage,filename作为函数的入口。
function showpages(totalnumber,maxperpage,filename)
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'>"
if CurrentPage<2 then
response.write "<font color='999966'>首页 上一页</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='999966'>下一页 尾页</font>"
else
response.write "<a href="&filename&"?page="&(CurrentPage+1)
response.write ">下一页</a> <a href="&filename&"?page="&n&">尾页</a>"
end if
response.write " 页次:<strong><font color=red>"&CurrentPage&"</font>/"&n&"</strong>页 "
response.write " 转到:<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,还请详细介绍一下怎么设置当前页AbsolutePage和pagesize啊! 展开
1个回答
展开全部
你没有设置当前页AbsolutePage,也没设置pagesize啊,哈哈
设置一下就好了,但是读的时候也要注意是要从i=1读到pagesize啊,否则还会出错。
具体改法,把这里
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
showpages totalnumber,MaxPerPage,filename
----------
改成
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
rs.pagesize=MaxPerPage
rs.AbsolutePage=currentPage
showpages totalnumber,MaxPerPage,filename
然后读数据的时候注意是从i=1 读到MaxPerPage就行了。
-----------
读取数据你不会吗,从1读到pagesize,就行了啊
设置一下就好了,但是读的时候也要注意是要从i=1读到pagesize啊,否则还会出错。
具体改法,把这里
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
showpages totalnumber,MaxPerPage,filename
----------
改成
if not isempty(request("page")) then
currentPage=cint(request("page"))
else
currentPage=1
end if
rs.pagesize=MaxPerPage
rs.AbsolutePage=currentPage
showpages totalnumber,MaxPerPage,filename
然后读数据的时候注意是从i=1 读到MaxPerPage就行了。
-----------
读取数据你不会吗,从1读到pagesize,就行了啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询