io faccio così:
tre file
conteggiopagine.asp
che includo prima della connessione
iniziopaginazione.asp
che includo all'apertura del record set
finepaginazione.asp
che includo alla fine del recordset
conteggiopagine:
codice:
<%
set rs=server.CreateObject("ADODB.recordset")
strSql="SELECT *FROM "& tabella
set rs=cn.Execute(strSql)
pagine=0
do while not rs.eof
TotRecord=pagine+1
pagine=TotRecord
rs.movenext
loop
rs.close
cn.Close
%>
iniziopaginazione:
codice:
<%
'********************** IMPOSTAZIONE PAGINA VISUALIZZAZIONE (dati da personalizzare) *******
RecPerPagina = 4 '# Indicare il numero di record che si voglio visualizzare in ogni pagina
NomPagina = Nome_pagina '# Indicare la pagina dove è inserito questo script comprese le variabili da passare
VarPagina = "falso" '# Se oltre al nome della pagina sono state inserite variabili indicare "vero" altrimenti "falso"
'--------------------------
If VarPagina = "vero" then
VarPagina = "&"
Else
VarPagina = "?"
End If
'********************* CONTROLLO RECORD ***********************************************
If rs.EOF = true or rs.BOF = true then
response.write "<font face='Verdana' size='1'> "
Response.write "Nessun record nel database"
response.write "</font> "
Else
'********************* IMPOSTAZIONE NUMERO PAGINE *************************************
resto = TotRecord/RecPerPagina
if Cint(resto) * RecPerPagina < totrecord then
a="decimale"
else
a="Intero"
end if
if TotRecord<RecPerPagina then
Pagine=1
else
if a="decimale" then
Pagine=Cint(TotRecord/RecPerPagina) + 1
else
pagine=TotRecord/RecPerPagina
end if
end if
pagine=Round(Pagine)
if TotRecord=RecPerPagina then
Pagine=1
else
if a="decimale" then
Pagine=Cint(TotRecord/RecPerPagina) + 1
else
pagine=TotRecord/RecPerPagina
end if
end if
pagine=Round(Pagine)
'******************** IMPOSTAZIONE DELLA PAGINA CORRENTE *******************************
Pagina = Request("page")
If Pagina = "" Then Pagina = 1 End If
PrimoRecord = (Pagina * RecPerPagina) - (RecPerPagina - 1)
UltimoRecord = PrimoRecord + RecPerPagina
'********************* VISUALIZZAZIONE *************************************************
rs.Move(PrimoRecord - 1)
For Conteggio = 1 to RecPerPagina
If rs.Eof then
Conteggio = RecPerPagina
Else
%>
finepaginazione
codice:
<%
rs.MoveNext
End If
Next
Response.write "
"
'********************* INDICE PAGINE ***************************************************
Indietro = Pagina - 1
Avanti = Pagina + 1
response.write "<font face='Verdana' size='1'>"
'******** indietro
If Pagina > 1 then
Response.write "<A HREF =" & "'" & NomPagina & VarPagina & "page=" & Indietro & "'" & ">" & "Indietro" & "</a>"
Response.write " - "
End If
'******** pagine
Response.write "Pagina " & Pagina & " di " & Pagine
'******** avanti
If not rs.EOF then
session("gestioneDB")=true
Response.write " - " & "<A HREF =" & "'" & NomPagina & VarPagina & "page=" & Avanti & "'" & ">" & "Avanti" & "</a>"
End If
End If
response.write "</font>"
%>
ovviamente il file incluso connessione.asp deve contenere i dati della tua connessione