Ciao a tutti, vorrei qualche consiglio sulla paginazione, attualmente uso questa soluzione:
in questo modo ottengo 6 risultati per pagina, e ottengo una una riga con i link a tutte le pagine tipo questa: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 %>
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 similecodice:1 - 2 - 3 - 4 - 5 - 6 - ecc fino all'ultima
se sono alla pagina 10 invececodice:1- 2- 3 - 4 -5 - 6 - ...
Spero di essermi spiegato, avete qualche suggerimento??codice:... - 5 - 6 - 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - ...

Rispondi quotando