Ciao a tutti, vorrei qualche consiglio sulla paginazione, attualmente uso questa soluzione:
codice:
<%
'recupero la pagina
page = Request.QueryString("page")
' imposto il numero di record per pagina
perpage = 6

Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("mdb-database/fotogallery.mdb")
sql = "SELECT * FROM foto ORDER BY ID"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3


'imposto la variabile in modo da ottenere l'ultima se non ne viene specificata un'altra
If page = "" then
page = 1
End if

'imposto la dimensione della pagina
Rs.PageSize = perpage
' mi sposto all'ultima pagina
Rs.AbsolutePage = page
Dim zoom
dim contatore
Dim MyString 
Dim MyArray(6)
contatore = 0
'scrivo i link ai 6 record
For i = 1 to perpage
If Not Rs.EOF then
zoom=rs("zoom")
MyArray(contatore)="a"
MyString = Join(MyArray,"")



contatore = contatore+1
Rs.MoveNext
end if
next

'scrivo i numeri delle pagine
Response.Write "<P class='numerazione'>Pagine: "

For pag = 1 to rs.PageCount
if CStr(page) = CStr(pag) then
'grassetto per la pagina corrente
Response.Write "- <A href='foto.asp?page=" & pag
Response.write "' class='pag_corrente'>"
Response.Write pag
Response.Write "</A> "
else
'normale per le altre pagine
Response.Write "- <A href='foto.asp?page=" & pag
Response.write "'>"
Response.Write pag
Response.Write "</A> "
end if
Next

Response.Write "</P>"

'chiudo la connessione
Rs.Close
Set Rs = Nothing
Conn.Close
Set Conn = Nothing
%>
in questo modo ottengo 6 risultati per pagina, e ottengo una una riga con i link a tutte le pagine tipo questa:
codice:
1 - 2 - 3 - 4 - 5 - 6 - ecc fino all'ultima
Ora siccome inizio ad avere un pò troppe pagine rischio che questa numerazione inizi ad essere un pò troppo lunga, quindi pensavo di stampare solo i link alle 5 pagine più vicine: se sono alla pagina 1 vorrei qualcosa di simile
codice:
1- 2- 3 - 4 -5 - 6 - ...
se sono alla pagina 10 invece
codice:
... - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - ...
Spero di essermi spiegato, avete qualche suggerimento??