[[italic] 本帖最后由 letla 于 2007-12-27 15:41 编辑 [/italic]]作者: 52巧克力aiq 时间: 2010-1-9 04:09
如你解释的一样,我觉得实现按类分页,分好的页面里面再按照每页30个记录分子级页。
页面可以不可以这样设计,下面一个是按类分页!
点击我们所要选的类别的按钮,读取class参数,
用"select * from [表格] where class="&class
实现同类元素的筛选!
然后子级的分类可以不可以是这样
例如:view_byclass.asp?class=<%rs("class")%>&page=5
view_byclass.asp
程序代码:
<!--#include file="conn.asp"-->
<%
Dim class
class=request("class")
Set rs=Server.CreateObject("ADODB.Recordset")
if class="" then
Sql="select * from [表格]"
else
Sql="select * from [表格] where class="&class
end if
rs.Open Sql,Conn,1,1
if request("page")="" then
page=1
elseif request("page")<1 then
page=1
else
page=request("page")
end if
rs.PageSize=12 '每页显示几个记录
rs.AbsolutePage=page
if rs.RecordCount=0 then
Response.Write "没有记录"
else
%>
<%
if rs.eof then
Response.Write "没有相关记录"
else
response.write ("<table width=500 border=0 cellspacing=0 cellpadding=1><tr>")
for ipage=1 to rs.pagesize
response.write ("<td>")
response.write rs("p_info_name") '您需要显示的字段
response.write ("</td>")
j=j+1
m=4 '假如您是一行4条记录。修改成需要的一行几条
If j>m-1 Then
Response.Write "</tr><tr>"
j=0
End If
rs.movenext
if rs.eof then exit for
next
Response.Write "</tr></table>"
%>
<%
end if
end if
%>
<div align="center"> <%=rs.recordcount%>条记录
当前第<%=page%>页/共有<%=rs.pagecount%>页<a href="view_byclass.asp?class=<%rs("class")%>&page=1"><font color="#000000">首页</font></a>
<% if page<>1 then %>
<a href="view_byclass.asp?class=<%rs("class")%>&page=<%=(page-1)%>"><font color="#000000">下页</font></a>
<%else%>
上间
<% end if %>
<% if page<>rs.pagecount then
if page+1>rs.pagecount then
page=rs.pagecount-1
end if
%>
<a href="view_byclass.asp?class=<%rs("class")%>&page=<%=(page+1)%>"><font color="#000000">下页</font></a>
<%else%>
下间
<% end if %>
<a href="view_byclass.asp?class=<%rs("class")%>&page=<%=rs.pagecount%>"><font color="#000000">尾页</font></a></div>
<%
rs.close
set rs=nothing
conn.close
set conn=nothing
'下面显示分类列
%>
<%
set rs=server.createobject(ADODB.recordset)
sql="select * from class by id desc"
rs.open sql,conn,3,3
do while not eof
%>
<a href="view_byclass.asp?class=<%rs("class")%>"><%rs("class")%></a>
<%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
效果差不多就是下面这样~~
1 2 3 4 5 6 7 9... 当前第2类下元素分页
1 2 3 4 5 6 7 8 9 10 按类分页
[[italic] 本帖最后由 letla 于 2007-12-27 15:45 编辑 [/italic]]作者: ヤforget♀戀 时间: 2010-1-9 04:10
[admin_product.asp页面]
... ...
<%
sql="select * from news order by news_no desc"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,3
%>
<%If IsNumeric(Request("Page"))=false Or Request("Page")="" Then
Page=1
Else
Page=CInt(Request("Page"))
End if
Rs.PageSize=15 %>
<%if rs.bof and rs.eof then
response.write"暂时还没有发布产品!"
else%>
您已发布<%=rs.recordcount%>件产品.
<%myPageSize=Rs.PageSize
Rs.AbsolutePage=Page
Do While not Rs.Eof And myPageSize>0
%>
这里是循环的内容
<% myPageSize=myPageSize-1
i=i+1
Rs.MoveNext
Loop
%><%end if%>
<br>
????产品总数:<%=Rs.RecordCount%>个;每页显示:<%=Rs.PageSize%>个;第<%=Page%>页/共<%=Rs.PageCount%>页.
<%
If Page > 1 Then
Response.Write "<a href='admin_product.asp?Page=1' title='首页'><font face=webdings>" & 9 & "</font></a>"
Response.Write "?<a href='admin_product.asp?Page="&Page-1&"' title='上一页'><font face=webdings>" & 7 & "</font></a>"
End If
For j = 1 To Rs.PageCount
Response.Write "?<a href='admin_product.asp?Page="&j&"'>" & j & "</a>"
Next
If Page < Rs.PageCount Then
Response.Write "?<a href='admin_product.asp?Page="&Page+1&"' title='下一页'><font face=webdings>" & "8" & "</a></font>"
End If
Response.Write "?<a href='admin_product.asp?Page="&Rs.PageCount&"' title='尾页'><font face=webdings>:</a>"
%>
<%
Rs.Close
Set Rs=nothing
%>
按分类查看:
<%
set rs=server.CreateObject("ADODB.recordset")
sql="select * from class"
rs.open sql,conn,3,3
%>
<select name="class" onchange="Javascript:window.location.href='admin_viewbyclass.asp?class='+this.value;" id="p1">
<option selected value="全部">--全部分类--</option>
<%do while not rs.eof%>
<option value="<%=rs("class")%>">--<%=rs("class")%>--</option>
<%
rs.movenext
loop
rs.close
set rs=nothing
%>
</select>
... ...
[admin_viewbyclass.asp]页面
<%
Dim id
id=Request("class")
Set rs= Server.CreateObject("ADODB.Recordset")
if id="全部" then
sql="select * from news"
else
sql="select * from news where class='"&id&"'"
end if
rs.open sql,conn,3,3
%>
... ... 下面也是和admin_product.asp一样的,循环显示,分页等,不在详述!