Ciao a tutti
Devo fare una paginazione, ho un data fatto in access e lo sto interrogando tramite asp.
Cercando nel forum e non solo sono riuscita a fare questo:
Sub visualizza(catID)
Dim sSql, adoRs, str, page, perpage, i, pag, valoreCat
if Request.Form("cat")<>"" then
valoreCat = Request.Form("cat")
end if
if Request.querystring("cat")<>"" then
valoreCat = Request.querystring("cat")
end if
page = Request.QueryString("page")
' imposto il numero di record per pagina
perpage = 3
'connessione al db
call apriConn
Set adoRs = Server.CreateObject("ADODB.Recordset")
sSql = "Select * from tblArticoli where catID = "& catID&" ORDER BY id "
adoRs.open sSql, adoConn, 3, 3
'imposto la variabile in modo da ottenere l'ultima se non ne viene specificata un'altra
If page = "" then
page = (adoRs.PageCount)
End if
'imposto la dimensione della pagina
adoRs.PageSize = perpage
' mi sposto all'ultima pagina
adoRs.AbsolutePage = page
'scrivo i numeri delle pagine
Response.Write "
Pagine: "
For pag = 1 to adoRs.PageCount
if page = pag then
'grassetto per la pagina corrente
Response.Write ""
Response.Write "<A href='catalogoProdotti.asp?cat="&valoreCat&"&page= " & pag
Response.write "'>"
Response.Write pag
Response.Write "</A> "
Response.Write ""
else
'normale per le altre pagine
Response.Write "<A href='catalogoProdotti.asp?cat="&valoreCat&"&page= " & pag
Response.write "'>"
Response.Write pag
Response.Write "</A> "
end if
Next
Response.Write "</P>"
str = "<table class=""testiCopy"" border=""0"" cellpadding=""5"" cellspacing=""5""width=""662""><tr bgcolor=""#5F8F39"" class=""titolichiari""><td>Img</td><td>Nome</td><td>Descrizione</td></tr>"
do while not adoRs.eof
str=str&"<tr bgcolor=""#E4E4E4""><td>[img][/img]</td><td>"&adoRs("nome")&"</td><td>"&adoRs("descr")&"</td></tr>"
adoRs.movenext
loop
response.write str&"</table>"
adoRs.close
set adoRs = nothing
call chiudiConn
end sub
Ma la mia paginazione non č che funzioni tanto bene
Mi provo a spiegare meglio:
Supponiamo voglia avere solo 3 risultati per pag.
la prima volta che effettuo la ricerca (ho 8 record per es.) visualizzo comunque tutti i record (gli 8 record) nonostante abbia messo la paginazione, nella pagina successiva ne visualizzo meno(4), nell'ultima visualizzo solo 1 record.
Chi mi sa dare una mano?