Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Doppio ciclo con scorrimento avanti indietro che non funziona

    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!

  2. #2
    up

  3. #3
    Nei link avanti e indietro devi passare anche l'id del prodotto...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.