Модульный пейджинг
1. Блок операторов запроса
<%
Получить текущее имя файла
temp = Split(request.ServerVariables("URL"), "/")
fy = temp(UBound(temp))
set rs=server.createobject("adodb.recordset")
если не пусто(запрос("страница")), то
Pagecount = Cint (запрос («страница»))
еще
количество страниц=1
конец, если
sql="выбрать оператор запроса"
rs.open sql,conn,1,1
rs.pagesize=10 Количество записей подкачки
если pagecount>rs.pagecount или pagecount<=0, то
количество страниц=1
конец, если
если rs.eof и rs.bof then%>
<div align="center" class="001"><br>
К сожалению, ни одна запись не соответствует критериям поиска! <br>
</div>
2. Отобразить блок записей
<%
еще
rs.AbsolutePage=количество страниц
do while not rs.eof %>
Отображаемые записи
<% i=i+2
rs.movenext
если i>=rs.PageSize, то выходим do
петля
'www.downcodes.com
%>
3.
Эффект нумерации страниц
<table width="778" border="0" align="center" cellpadding="0" cellpacing="0">
<tr align="center">
<% если rs.pagecount=1, то %>
<td height="35" colspan="4" class=001><font color="#000000">Есть [<font color="#ff0000"><%=rs.recordcount%></font>] всего. В настоящее время отображается следующая информация: <font color="red">1~<%=rs.recordcount%></font></font></td>
</tr>
<тр>
<%else%>
<td width="19%" height="35" align="center" valign="middle" class=001><font color="#000000">
<% page_start=(pagecount-1)*rs.pagesize
если pagecount=1, то page_start=1
page_end=rs.pagesize*pagecount
если pagecount*rs.pagesize=>rs.recordcount then page_end=rs.recordcount end if%>
Всего [<font color="#ff0000"><%=rs.recordcount%></font>] информации</font></td>
<td width="58%" height="30" align="center" class="fy"><font color="#000000">
<%
если pagecount>5 и pagecount< rs.PageCount-5 и rs.pagecount>10, то
qizu=количество страниц-4
мин=количество страниц+5
response.write"<a href="&source&"?page=1&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Главная страница</font></a> "
response.write"<a href="&source&"?page="+cstr(pagecount-1)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Предыдущая страница</font></a> "
для ipage=qizu в мин
если ipage<>pagecount, то
response.write"<a href="&source&"?page="+cstr(ipage)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&cityid="&cityid&"><font color='0000BE' >"+cstr(ipage)+"</font></a> "
еще
response.write "<font color='#FF0000'>"&ipage&"</font> "
конец, если
следующий
response.write"<a href="&source&"?page="+cstr(pagecount+1)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Следующая страница</font></a> "
response.write"<a href="&source&"?page="+cstr(rs.PageCount)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Последняя страница</font></a>"
конец, если
если rs.PageCount<11, то
для ipage=1 до rs.PageCount
если ipage<>pagecount, то
response.write"<a href="&source&"?page="+cstr(ipage)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&cityid="&cityid&"><font color='0000BE' >"+cstr(ipage)+"</font></a> "
еще
response.write "<font color='#FF0000'>"&ipage&"</font> "
конец, если
следующий
конец, если
если количество страниц < 6 и rs.PageCount>10, то
для ipage=от 1 до 10
если ipage<>pagecount, то
response.write"<a href="&source&"?page="+cstr(ipage)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&cityid="&cityid&"><font color='0000BE' >"+cstr(ipage)+"</font></a> "
еще
response.write "<font color='#FF0000'>"&ipage&"</font> "
конец, если
следующий
response.write "<a href="&source&"?page="+cstr(rs.PageCount)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Последняя страница</font></a>"
конец, если
если pagecount>rs.PageCount-6 и rs.PageCount>10, то
response.write "<a href="&source&"?page=1&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Главная страница</font></a> "
от ipage=rs.PageCount-9 до rs.PageCount
если ipage<>pagecount, то
response.write"<a href="&source&"?page="+cstr(ipage)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&cityid="&cityid&"><font color='0000BE' >"+cstr(ipage)+"</font></a> "
еще
response.write "<font color='#FF0000'>"&ipage&"</font> "
конец, если
следующий
конец, если
%>
</font></td><form name=go2to form Method=Post action=<%=fy%>>
<td width="13%" align="center" valign="middle" class="fy">
<input type='hidden' name='sortid' value="<%=sortid%>"><input type='hidden' name='typeid' value="<%=typeid%>"><input type= 'hidden' name='qylb' value="<%=qylb%>"><input type='hidden' name='title' value="<%title%>"><input type='hidden' name= 'cityid' value="<%=cityid%>"><font color='000064'> Перейдите к <input type='text' name='page' size=2 maxLength=3>
страница</font>
</td>
<td width="10%" align="center" valign="middle" class="fy"><input name="image" type='image' onClick=check() value='OK' src='. ./images/button_h.jpg'></td>
</форма>
<тр>
<td height="20" colspan="6" valign="bottom"><font color="#000000"> </font></td>
</tr>
<% конец, если %>
<% конец, если %>
</таблица>