Dunque......ci sono diversi modi, di solito io faccio così: prima di cominciare la presentazione dei dati inserisco queste righe
codice:
numero=5 'notizie per pagina
controllo=numero
pag = TRIM(Request.QueryString("pag")) 'paginazione
If pag="" Then
pag = 1
Else
pag = CInt(pag)
End If
e dopo la tabella aggiungo
codice:
<center><table border="0" width="250">
<tr>
<%
If ( pag > 1) Then
%>
<td width="50%" align="left"></td>
<% else %>
<td width="50"></td>
<%
end if
%>
<td width="220" align="center">
<%
if tot mod(numero)=0 then
lastpage=int(tot/numero)
else 'deve numerare l'ultima pagina anche se incompleta!
lastpage=int(tot/numero)+1
end if
for c=1 to lastpage
%>
"><%=c%>
<%
next
%></td><%
If not rs2.eof Then
%>
</td><td widht="50" align="right"><a href="nome_della_pagina?pag=<%=pag+1%></a></td>
<% else %> <td widht="50"></td>
<% end if %>
</tr>
</table>
</center>
<div>Pag. <%=pag%> di <%=lastpage%></div>
In questo modo viene creata una piccola tabella sotto quella dei dati, che riporta il numero delle pagine in formato cliccabile.
Devi solo settare il numero di record che vuoi mettere in ogni pagina.
Nota che, all'inizio, lo script legge il numero di pagina nell'url: se la variabile è vuota (perchè non provieni da un'altra pagina) allora carica la pagina n° 1, mentre se la variabile "pag" è valorizzata significa che provieni da un'altra pagina e che hai cliccato su un numero di pagina. In questo caso il numero viene letto e viene caricata la pagina corrispondente.
Con poche o nessuna modifica dovrebbe andare. Una modifica (indispensabile): nella tabella dove mostri i dati, devi usare la variabile "controllo" per dire alla pagina di stampare quel numero di records, per esempio facendo
codice:
do until controllo=0
....stampa la tabella dei dati.....
controllo=controllo-1
rs.movenext
loop
come ciclo per la stampa.
La cosa poi si può abbellire con il disegno di una freccetta verso destra e una verso sinistra, ma la sostanza è questa.