Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43

    ciclo while dal più grandde al più piccolo

    Salve ho un problema, ho un carrello e ogni qualvolta si aggiunge un prodotto questo va a finire alla fine della lista, vorrei che quando si aggiunge un prodotto al carrello invece questo si posiziona all'inizio dell'elenco; mi spego meglio: aggiungendo i prodotti al carrello vorrei che l'elenco partisse dall'ultimo prodotto aggiunto e che arrivasse fino al primo. Vi sposto il codice della pagina carrello1.asp:

    i=Session("Contatore")
    k=0

    while k <= i


    PR=Session("Prodotti"&k)

    if Session("Prodotti"&k) <> "" then

    Set prodotti = Server.CreateObject("ADODB.Recordset")
    prodotti.ActiveConnection = cn
    prodotti.Source = "SELECT * FROM magaz WHERE codice='"&PR&"'"
    prodotti.CursorType = 2
    prodotti.CursorLocation = 2
    prodotti.LockType = 2
    prodotti.Open()

    response.write(prodotti("descri"))


    prodotti.Close()
    Set prodotti = Nothing

    end if
    k=k+1

    wend


    Questa invece è la pagina addcarrello.asp che ha la funzione di aggiungere:


    If Session("Contatore") = "" then
    Session("Contatore")=0
    end if

    qualeNow=Request("id")
    quantNow=Request("qnt")
    clifor=Request("clifor")

    cont=Session("Contatore")

    q=0
    coco=0

    while q <= cont
    'response.Write("Ciclo
    ")
    contr=Session("Prodotti"&q)

    if contr <> qualeNow then
    'response.Write("Incremento coco
    ")
    coco=coco+1
    else
    'response.Write("If se esiste
    ")
    Session("Quantita"&q)=Cint(Session("Quantita"&q))+ Cint(quantNow)
    coco=0
    q=Session("Contatore")+1
    end if

    q=q+1
    wend

    if coco <> 0 then
    'Response.Write("If di aggiunta se non esiste
    ")
    i=Session("Contatore")
    Session("Prodotti"&i)=Request("id")
    Session("Quantita"&i)=Request("qnt")

    Session("Contatore")=Session("Contatore")+1

    Session.timeout=1440
    end if

    Session("clifor")=clifor
    response.Redirect("carrello1.asp")


    Mi potete illuminare. Grazie

  2. #2
    tu continua ad aggiungere in fondo, poi fatti furbo, leggi dal fondo in questo modo gli ultimi saranno i primi

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    mi puoi aiutare grazie non ho capito

  4. #4
    che cosa non hai capito?

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    come far ad invertire il ciclo

  6. #6
    fa' vedere il ciclo di adesso

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    sta in alto il codice

  8. #8
    Originariamente inviato da gianni80
    sta in alto il codice
    e allora io ti ho già risposto.

    ma ti costa tanto ripostare la parte di codice da invertire?

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    43
    carrello1.asp:

    i=Session("Contatore")
    k=0

    while k <= i


    PR=Session("Prodotti"&k)

    if Session("Prodotti"&k) <> "" then

    Set prodotti = Server.CreateObject("ADODB.Recordset")
    prodotti.ActiveConnection = cn
    prodotti.Source = "SELECT * FROM magaz WHERE codice='"&PR&"'"
    prodotti.CursorType = 2
    prodotti.CursorLocation = 2
    prodotti.LockType = 2
    prodotti.Open()

    response.write(prodotti("descri"))


    prodotti.Close()
    Set prodotti = Nothing

    end if
    k=k+1

    wend


    Questa invece è la pagina addcarrello.asp che ha la funzione di aggiungere:


    If Session("Contatore") = "" then
    Session("Contatore")=0
    end if

    qualeNow=Request("id")
    quantNow=Request("qnt")
    clifor=Request("clifor")

    cont=Session("Contatore")

    q=0
    coco=0

    while q <= cont
    'response.Write("Ciclo
    ")
    contr=Session("Prodotti"&q)

    if contr <> qualeNow then
    'response.Write("Incremento coco
    ")
    coco=coco+1
    else
    'response.Write("If se esiste
    ")
    Session("Quantita"&q)=Cint(Session("Quantita"&q))+ Cint(quantNow)
    coco=0
    q=Session("Contatore")+1
    end if

    q=q+1
    wend

    if coco <> 0 then
    'Response.Write("If di aggiunta se non esiste
    ")
    i=Session("Contatore")
    Session("Prodotti"&i)=Request("id")
    Session("Quantita"&i)=Request("qnt")

    Session("Contatore")=Session("Contatore")+1

    Session.timeout=1440
    end if

    Session("clifor")=clifor
    response.Redirect("carrello1.asp")

  10. #10
    avevo chiesto solo la parte del ciclo. ho capito che ti va di giocare e non di essere aiutato. io la soluzione te l'ho data ed è anche semplicissima da attuare. se mi posti la parte del solo ciclo vedo di aiutarti, altrimenti

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 © 2026 vBulletin Solutions, Inc. All rights reserved.