Salve a tutti, ho un problema sulla paginazione:
questo il codice
fin qui tutto bene, ma il problema che quando apro la pagina per la prima volta mi da i risultati in questo modocodice:<% 'recupero la pagina page = Request.QueryString("page") ' imposto il numero di record per pagina perpage = 10 'connessione al db Set Conn = Server.CreateObject("ADODB.Connection") Conn.open "driver={Microsoft Access Driver (.mdb)};dbq=" & Server.MapPath("percorso/database.mdb") Set Rs = Server.CreateObject("ADODB.Recordset") sql = "SELECT FROM messaggi ORDER BY id" Rs.Open sql, Conn, 1, 3 'imposto la variabile in modo da ottenere l'ultima se non ne viene specificata un'altra If page = "" then page = (rs.PageCount) End if 'imposto la dimensione della pagina Rs.PageSize = perpage ' mi sposto all'ultima pagina Rs.AbsolutePage = page 'scrivo i link ai 10 record For i = 1 to perpage If Not Rs.EOF then if Rs("id") < 10 then Response.Write ("[0" & Rs("id") & "'> ") else Response.Write ("[" & Rs("id") & "'> ") end if Rs.MoveNext end if next 'scrivo i numeri delle pagine Response.Write " Pagine: " For pag= 1 to rs.PageCount if page = pag then 'grassetto per la pagina corrente Response.Write "" Response.Write "<A href='questapagina.asp?page=" & pag Response.write "'>" Response.Write pag Response.Write "</A> " Response.Write "" else 'normale per le altre pagine Response.Write "<A href='questapagina.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 %>
pagine: 1 2 3 4
e va bene, ma se clicco alla seconda pagina mi da questo risultato
pagine: 1 2 3 4
ovvero non mi mette la seconda pagina in grassetto, io penso che il problema sia qui: " if page = pag ...", ma non so come risolverlo. Se a voi funziona, posso postare il codice dell'intera pagina (non l'ho fatto in quanto è troppo lungo).
Grazie, ciao.

Rispondi quotando
