1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
| <%
dim PageSize, NbPageMax
PageSize = 20 'nombre d'éléments par page
NbPageMax = 20 'nombre max de pages
dim no_page
no_page = default_value(Request("no_page"), 1) 'numéro de la page à afficher (1 par défaut)
dim nb_record, nb_page
dim rowCount
nb_record = oRSt.recordcount 'nombre d'éléments à afficher (du recordSet)
if (nb_record > (PageSize * NbPageMax)) then
' pas la peine d'annoncer 952 éléments si on n'en affiche que 200
nb_record = PageSize * NbPageMax
nb_page = NbPageMax
end if
if nb_record mod PageSize = 0 then
nb_page = int((nb_record/PageSize)) 'nombre de pages à afficher
else
nb_page = int((nb_record/PageSize)+1)
end if
rowCount = 0
oRSt.pageSize = PageSize
'on affiche la pagination
if nb_page > 1 then
response.Write nb_record & " éléments<br>" & nb_page & " pages de résultat : "
if nb_page > 1 then
for i = 1 to nb_page
if i < nb_page then
oRSt.AbsolutePage = i + 1
oRSt.MovePrevious
else
oRSt.MoveLast
end if
oRSt.AbsolutePage = i
if i <= pNbMaxPage then
Response.Write "<a href=""[URL.asp?prm=...]&no_page=" & i & """>"
if cInt(no_page) = i then Response.Write "<b>" & i & "</b>" else Response.Write i end if
Response.Write "</a> "
end if
next
end if
response.write "<hr>"
end if
'on se positionne dans le RecordSet
oRst.AbsolutePage = no_page %>
<tr>[les en-têtes de colonne]</tr><%
'on affiche les lignes
do until (oRst.EOF or rowCount = oRst.pageSize)
rowCount = rowCount + 1 'pour compter les lignes traitées
%><tr>[la ligne]</tr><%
oRst.Movenext
Loop
'on remet la pagination
if nb_page > 1 then
response.write "<hr>"
if nb_page > 1 then
for i = 1 to nb_page
if i < nb_page then
oRSt.AbsolutePage = i + 1
oRSt.MovePrevious
else
oRSt.MoveLast
end if
oRSt.AbsolutePage = i
if i <= pNbMaxPage then
Response.Write "<a href=""[URL.asp?prm=...]&no_page=" & i & """>"
if cInt(no_page) = i then Response.Write "<b>" & i & "</b>" else Response.Write i end if
Response.Write "</a> "
end if
next
end if
end if %> |
Partager