Pagination modulaire
1. Bloc d'instructions de requête
<%
Obtenir le nom du fichier actuel
temp = Split(request.ServerVariables("URL"), "/")
fy = temp (UBound (temp))
set rs=server.createobject("adodb.recordset")
si ce n'est pas vide (requête ("page")) alors
nombre de pages=cint(requête("page"))
autre
nombre de pages = 1
finir si
sql="instruction de requête sélectionnée"
rs.open sql, conn, 1,1
rs.pagesize=10 Nombre d'enregistrements de pagination
si pagecount>rs.pagecount ou pagecount<=0 alors
nombre de pages = 1
finir si
si rs.eof et rs.bof alors%>
<div align="center" class="001"><br>
Désolé, aucun enregistrement ne correspond aux critères de recherche ! <br>
</div>
2. Afficher le bloc d'enregistrement
<%
autre
rs.AbsolutePage=compte de pages
do while not rs.eof %>
Enregistrements affichés
<% i=i+2
rs.movenext
si i>=rs.PageSize alors quittez do
boucle
'www.downcodes.com
%>
3.
Effet de pagination
<table width="778" border="0" align="center" cellpadding="0" cellpacing="0">
<tr align="centre">
<% si rs.pagecount=1 alors %>
<td height="35" colspan="4" class=001><font color="#000000">Il y a [<font color="#ff0000"><%=rs.recordcount%></font>] au total Les informations actuellement affichées sont <font color="red">1~<%=rs.recordcount%></font></font></td>
</tr>
<tr>
<%else%>
<td width="19%" height="35" align="center" valign="middle" class=001><font color="#000000">
<% page_start=(pagecount-1)*rs.pagesize
si pagecount=1 alors page_start=1
page_end=rs.pagesize*pagecount
si pagecount*rs.pagesize=>rs.recordcount alors page_end=rs.recordcount end if%>
Informations totales sur les [<font color="#ff0000"><%=rs.recordcount%></font>]</font></td>
<td width="58%" height="30" align="center" class="fy"><font color="#000000">
<%
si nombre de pages>5 et nombre de pages<rs.PageCount-5 et rs.pagecount>10 alors
qizu = nombre de pages-4
min = nombre de pages + 5
réponse.write"<a href="&source&"?page=1&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Page d'accueil</font></a> "
réponse.write"<a href="&source&"?page="+cstr(pagecount-1)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Page précédente</font></a> "
pour ipage = qizu en min
si ipage<>pagecount alors
réponse.write"<a href="&source&"?page="+cstr(ipage)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&cityid="&cityid&"><font color='0000BE' >"+cstr(ipage)+"</font></a> "
autre
réponse.write "<font color='#FF0000'>"&ipage&"</font> "
finir si
suivant
réponse.write"<a href="&source&"?page="+cstr(pagecount+1)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Page suivante</font></a> "
réponse.write"<a href="&source&"?page="+cstr(rs.PageCount)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Dernière page</font></a>"
finir si
si rs.PageCount<11 alors
pour ipage=1 à rs.PageCount
si ipage<>pagecount alors
réponse.write"<a href="&source&"?page="+cstr(ipage)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&cityid="&cityid&"><font color='0000BE' >"+cstr(ipage)+"</font></a> "
autre
réponse.write "<font color='#FF0000'>"&ipage&"</font> "
finir si
suivant
finir si
si nombre de pages < 6 et rs.PageCount>10 alors
pour ipage=1 à 10
si ipage<>pagecount alors
réponse.write"<a href="&source&"?page="+cstr(ipage)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&cityid="&cityid&"><font color='0000BE' >"+cstr(ipage)+"</font></a> "
autre
réponse.write "<font color='#FF0000'>"&ipage&"</font> "
finir si
suivant
réponse.write "<a href="&source&"?page="+cstr(rs.PageCount)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Dernière page</font></a>"
finir si
si nombre de pages>rs.PageCount-6 et rs.PageCount>10 alors
réponse.write "<a href="&source&"?page=1&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&title="&title&"&cityid="&cityid&">
<font color='0000BE'>Page d'accueil</font></a> "
pour ipage=rs.PageCount-9 à rs.PageCount
si ipage<>pagecount alors
réponse.write"<a href="&source&"?page="+cstr(ipage)+"&sortid="&sortid&"&typeid="&typeid&"&qylb="&qylb&"&cityid="&cityid&"><font color='0000BE' >"+cstr(ipage)+"</font></a> "
autre
réponse.write "<font color='#FF0000'>"&ipage&"</font> "
finir si
suivant
finir si
%>
</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'> Accédez à <input type='text' name='page' size=2 maxLength=3>
page</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>
</form>
<tr>
<td height="20" colspan="6" valign="bottom"><font color="#000000">
</tr>
<% fin si %>
<% fin si %>
</table>