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!

Rispondi quotando