记录的总数为32条,pagesize=10,用 sql="select * from book order by id desc"查询语句,我想达到每页显示10条记录,先显示最新10条记录,然后下拉菜单显示所有的页数,比如1
2
3
4
等,并且如果我随便要点击那一个页,就跳转到那个页!请各位朋友谈谈自己有关翻页的思路,请尽量少用代码。谢谢!
...全文
437打赏收藏
请各位朋友谈谈自己有关翻页的思路,请尽量少用代码。谢谢!
记录的总数为32条,pagesize=10,用 sql="select * from book order by id desc"查询语句,我想达到每页显示10条记录,先显示最新10条记录,然后下拉菜单显示所有的页数,比如1 2 3 4 等,并且如果我随便要点击那一个页,就跳转到那个页!请各位朋友谈谈自己有关翻页的思路,请尽量少用代码。谢谢!
大致代码~~!(每页十个记录)
<%
dim t_page,n
if request("page")="" then '-----------------如果是第一次访问该页,分页信息为1
t_page=1
else
t_page=request("page") '---------------------获取分页信息
end if
SQL="Select * from content ....."
Set rs=con.Execute(SQL, RecsAffected, adCmdText)
n=1
do while not rs.eof '-------------------------先全部查询
if n>t_page*10+1 and n<t_page*10 then '---根据分页信息判断本页记录是多少
response.write rs("字段") '----------------显示记录
end if
rs.movenext
n=n+1
loop
response.write <a href="本页地址?page="&n&">下一页</a>"
%>
改一下
<%set rs=server.CreateObject("ADODB.RECORDSET")
sql="select * from book order by id desc"
rs.open sql,conn,3,1
if not rs.eof then
if isnull(request("page")) then
page=""
else
page=cint(request("page"))
end if
rs.pagesize=10
if page="" or page<1 then
page=1
end if
if page>rs.pagecount then
page=rs.pagecount
end if
if rs.pagecount>0 then
rs.absolutepage=page
end if
%>
<%for i=0 to rs.pagesize-1
'''''这里读出数据库内容
rs.movenext
if rs.eof then
exit for
end if
next
%>
<%set rs=server.CreateObject("ADODB.RECORDSET")
sql="select * from book order by id desc"
rs.open sql,conn,3,1
if not rs.eof then
if isnull(request("page")) then
page=""
else
page=cint(request("page"))
end if
rs.pagesize=10
if page="" or page<1 then
page=1
end if
if page>rs.pagecount then
page=rs.pagecount
end if
if rs.pagecount>0 then
rs.absolutepage=page
end if
%>
<%for i=0 to rs.pagesize-1
rs.movenext
if rs.eof then
exit for
end if
next
%>
源代码如下:
if Pagenum = "" Then Pagenum = 1 //从第一页开始显示
//建立数据库连接和Recordset对象实例rs。
与第一种方法相同,此处略过。 RS.Pagesize = 10 ' 设置一页中显示的记录条数为10条
// 确定翻页的动作
Select Case Request("NAV")
Case ""
session("Pagenum") = 1
case "First" ' First Record
session("Pagenum") = 1
case "Prev" ' Previous Record
if session("Pagenum") > 1 then
session("Pagenum") = session("Pagenum") - 1
End If
case "Next" ' Next Record
if session("Pagenum")< RS.PageCount then
session("Pagenum") = session("Pagenum") + 1
End if
case "Last" ' Last Record
session("Pagenum") = RS.PageCount
End Select
RS.Absolutepage = Clng(session("Pagenum")) //确定当前页的第一条记
录号