Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [ASP]inserire prodotti nel carrello

    CIAO A TUTTI!
    Per Favore ditemi che non è impossibile.

    Allora ho un prodotto nel sito ecommerce. Questo prodotto è una tuta, di conseguenza, l'utente ha la possibilità di scegliere le quantità per relativa taglia, quindi una volta scelta la taglia invia alla (tabella carrello nel database) la quantità che ha scelto della relativa taglia.

    Nel DB nella tabella Carrello, ho questi campi per indicare le quantità:

    qs,qm,ql, qxl, qxxl, qxxxl.

    Quando pero vado a recuperare i prodotti che quell'utente ha aggiunto al Carrello, io devo scrivere nel carrello più volte quel prodotto nel carrello quante sono le taglie differenti che lui ha scelto.

    Per favore qualcuno mi aiuti.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    io sono tonto...


    qs,qm,ql, qxl, qxxl, qxxxl

    sono campi per definire le quantità ?

    perchè ?

    non puoi avere un unico campo dove specifichi le quantità ?
    assegnando anche un codice al tipo di misura ?

    es.

    id_prod|quantita|misura
    123 |3 | xl

    ?

  3. #3
    Grazie per avermi risposto.

    Si, qs,qm,ql, qxl, qxxl, qxxxl sono le quantità.

    A proposito del tuo consiglio. Se un utente sceglie quantità 1 tg xl e quantità 2 tg l come faccio ad inserire nella tabella carrello piu volte il record dello stesso prodotto con la taglia diversa?

  4. #4
    assegnando anche un codice al tipo di misura ?

    Potresti chiarirmi questo passo. Cioè dove lo inserisco questo codice?

  5. #5
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    dal punto di vista tecnico o logico ?


    dal punto di vista logico è facile...


    123 |1 | XL
    123 | 2 | L

    dal punto di vista tecnico basta che crei un ciclo in relazione alla misura scelta...

    for i = 0 to request.form("misura").count

    ' qui fai il tuo insert into...

    next

  6. #6
    Senti io non so come ringraziarti. Adesso ci provo un po. Se mi servirà un altro consiglio posso disturbarti dinuovo?
    Grazie mille amico.

  7. #7
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    figurati...


  8. #8
    Praticamente ho impostato il ciclo di lettura ma invece di aggiungere un altro record alla tabella quando cambio taglia, mi aggiorna la quantita ed il record rimane uno soltanto!
    [AGENTI SOSTIENIMI]


    if miorecord.eof then

    for i = 0 to request.Querystring("misura").count

    SQL = " INSERT INTO Carrello (IDsessione, id_prodotto, nome_prodotto, prezzo, quantita, misura, spedizione) VALUES ('"& SessionID &"', "& id &", '"& prodotto &"', '"& prezzo &"', "& quantita &", '"& misura &"', '"& spedizione &"')"
    Set miorecord = Connessione.Execute(SQL)

    next

    else


    SQL = " UPDATE Carrello Set quantita = " & (miorecord("quantita") + CLng(quantita)) & " WHERE IDsessione = '"& SessionID &"' AND Id_prodotto = "& id
    Set miorecord = Connessione.Execute(SQL)

    end if

    'GRAZIE

  9. #9
    Utente di HTML.it L'avatar di agenti
    Registrato dal
    Feb 2002
    Messaggi
    2,427
    non credo che cosi risolvi...

    anche perchè pensare di risparmiare record su un carrello che conterrà al massimo 1000 record... non ti aiuta...


    devi per forza creare 2 record anche perchè

    il primo record è legato al id_prodotto ma ha una quantità diversa e ovivamente uan misura diversa...

    riassumendo tu avrai una stringa di parametri...

    -id_prodotto ( non credo sia necessario usare anche il nome se tu usi una relazioen con la tabella prodotti)

    -quantita

    -misura

    -prezzo

    -spedizione



    in questo caso però dovresti riflettere su uan cosa...

    la spedizioen infatti è relativa alla pratica o al prodotto ?

    nel senso che a me sembra un attributo della pratica...

    cioè : ho 2 prodotti con caratteristiche xxx e yyy però che vanno spedite entrambe
    ad un unico indirizzo...

    e questo cambia la logica della memorizzazione...

    perchè una cosa è la tabella carrello...
    un altra è la tabella pratiche

    che conterrà ( sempre secondo me) gli attributi di spedizione più un ID pratica + il totale pratica.

    esempio pratico...


    tabella pratica
    ID|totale_pratica|spedizione
    234|40 €|corriere (meglio usare un campo numerico e un relativo codice)
    ' derivo ID della pratica e l'attribuisco ai prodotti

    tabella carrello

    ID|id_pratica|id_prodotto | quantita | misura|prezzo
    20|234|123 | 2 | L |20 €
    21|234|123 |1 | XL|20 €

    in questo modo tu avrai una pratica che è collegata ai tuoi record prodotti
    e che potrai richiamare quando vuoi facendo riferimento ad una sola pratica...
    o meglio usando solo ID 234.

    per fare l'inserimento nella tabella prodotti
    ti conviene splittare la stringa di dati inviata... e lavorare con gli array...


    quindi:


    -quantita

    -misura

    -prezzo

    -id_prodotto

    codice:
    array_idprodotto = split(request("id_prodotto"),",")
    array_quantita = split(request("quantita"),",")
    array_misura = split(request("misura"),",")
    array_prezzo = split("request("prezzo"),",")
    
    ' a questo punto inizi il ciclo di inserimento usando array_idprodotto
    
    
    for i = 0 to UBOUND(array_idprodotto)
    
    SQL = " INSERT INTO Carrello (IDsessione,ID_pratica ,id_prodotto, prezzo, quantita, misura) VALUES ('"& SessionID &"', "&id_pratica&", "& array_idprodotto(i)&", '"& array_prezzo(i) &"', "& array_quantita(i) &", '"& array_misura(i) &"')"
    Set miorecord = Connessione.Execute(SQL)
    
    next
    il parametro di spedizione la inserisci nella tabella pratiche coem ti ho spiegato sopra...
    ma ovviamente prima di quest'ultimo ciclo...
    il totale pratica lo derivi direttamente dalla tabella carrello o puoi memorizzarlo ( spreco)
    nella tabella pratica.. facendo la somma dei valori.. dell'array.

    spero sia chiaro...
    ma non sono sicuro...
    :master:

    ciao.

  10. #10
    Diciamo che non è proprio chiaro. Solo una cosa:

    questi sono i campi che mi interessa recuperare dalla scheda del prodotto cioè:
    quantita e taglia

    <input name="quantita" type="text" id="quantita" value="1" />
    <input name="misura" type="text" id="misura" />


    Ma come ho impostato io non può andare bene? Cioè a seconda della misura inserita aggiungo un nuovo record!

    if miorecord.eof then

    for i = 0 to request.Querystring("misura").count

    SQL = " INSERT INTO Carrello (IDsessione, id_prodotto, nome_prodotto, prezzo, quantita, misura, spedizione) VALUES ('"& SessionID &"', "& id &", '"& prodotto &"', '"& prezzo &"', "& quantita &", '"& misura &"', '"& spedizione &"')"
    Set miorecord = Connessione.Execute(SQL)

    next

    else


    SQL = " UPDATE Carrello Set quantita = " & (miorecord("quantita") + CLng(quantita)) & " WHERE IDsessione = '"& SessionID &"' AND Id_prodotto = "& id
    Set miorecord = Connessione.Execute(SQL)

    end if

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.