Ragazzi ho questo problema...

ho un catalogo di prodotti e attraverso una pagina posso scegliere se memorizzare l' articolo in una lista dei preferiti, quindi in una tabella che registra il codice dell' utente e quello del prodotto.

Facciamo l' esempio di un utente che abbia inserito nei preferiti 14 prodotti.
Io imposto la pagina affinchè lui possa visualizzare 12 pezzi per pagina, dopodichè va avanti con lo scorrimento 'avanti' 'indietro'.

Funziona correttamente fino a quando non si va a cliccare sulla voce avanti in quanto non carica la seconda pagina.

Il problema credo che sia che non mi conta le pagine, forse perchè da qualche parte c'è una variabile 'pag' che si resetta, ma non riesco a trovarla.

Potete aiutarmi?


codice:
<%
    Dim rsP, quanti, pag, contatore
    quanti = 12
    pag = Request.QueryString("pag")
    If IsNumeric(pag) = False Or pag < 1 Then pag = 1
    contatore = 0
%>

....
Estraggo dal database gli articoli memorizzati nella lista dei preferiti con un ciclo;
La tabella preferiti è composta da due campi: idutente ed idprodotto.
Successivamente al primo ciclo, effettuo il secondo per trovare i prodotti estratti dai prefriti nella tabella catalogo e per impaginare la query. 
....

<%
	Dim preferiti
    Set preferiti = Server.CreateObject("ADODB.Recordset")
   	Dim SQLpreferiti
   	SQLpreferiti = "SELECT * FROM preferiti WHERE idutente = '"&Session("code")&"'"
   	conn.Execute(SQLpreferiti)
   	preferiti.Open SQLpreferiti, conn
	If preferiti.EOF then
	Response.Write("")
	else
	While Not preferiti.EOF
    With Response
	Set rsP = Server.CreateObject("ADODB.Recordset")					
    rsP.CursorLocation = 3	
	rsP.Open "SELECT * FROM catalogo WHERE id = '"&preferiti("idprodotto")&"' ORDER BY  categoria,sottocat DESC", conn, 1
	if not rsP.eof then
	rsP.PageSize = quanti
	pag = Request.QueryString("pag")
	if len(pag) = 0 or (not isNumeric(pag)) then pag = 1
	if pag < 1 then pag = 1
	rsP.AbsolutePage = pag 
    if contatore = 0 then
	Response.Write("<table border='0' cellpadding='0' cellspacing='0'><tr>")
 	end if	
While rsP.EOF = False And contatore < quanti
%>



<%
  
		rsP.MoveNext
        contatore = contatore + 1
       
        if (contatore mod 4 = 0) then
            Response.Write("</tr></tr>")
    
        end if

    Wend
    
	
%>
...
chiudo il secondo ciclo
...
<%end if%>
....
chiudo il primo ciclo
....
<%End With
preferiti.MoveNext
Wend
Response.Write("</tr></table>")
end if
%>
...
mi creo lo scorrimento avanti e indietro per visualizzare pagine con 12 record ciascuna
...

<%If pag > 1 Then%>
Indietro 
<%End If%>
....
<%If rsP.EOF = False Then%>
Avanti 
<%End If%>

FINE!