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

    creazione carrello della spesa

    Dovrei creare un carrello della spesa classico.
    Sono poco esperto nella creazione di queste cose in asp quindi inizialmente non vorrei sapere il codice o robe simili ma vorrei sapere la "teoria" diciamo.
    Io ho una pagina che filtra dei risultati da un recordset (chiamiamola cerca.asp) accanto ad ogni articolo trovato ho il mio aggiungi al carrello.
    Cliccando su aggiungi al carrello il prodotto selezionato viene inserito nella pagina carrello.asp la quale pagina ha un pulsante in fondo con scritto ORDINA.
    Io vorrei che solo quando un cliente clicca su ordina i dati vengano inseriti all'interno del mio database nella tabella degli ordini e non prima.
    Ma mi sorge una domanda... come faccio a tenere nota degli articoli che il mio cliente inserisce nel carrello? dove li metto se non dentro una tabella per poi leggerli nella pagina carrello.asp?
    però se poi l'utente chiude la finestra con la X in alto a destra del browser io ho "sporcato" una tabella per niente..... quindi sono sicuro c'è una soluzione..... c'è un modo di archiviare i dati degli articoli scelti in qualcosa di temporaneo...
    potete darmi qualche dritta su come realizzare un carrello della spesa così poi inizio a farlo??
    ciao e grazie

  2. #2
    Potresti usare l'oggetto Session oppure i cookies...
    Chi non cerca trova.

  3. #3
    Session diciamo che un pò lo conosco..... poco ma lo uso per fare il login e portarmi dietro lo username... i cookies proprio li conosco poco ma imparerò in caso.

    Quale è il modo migliore?
    pregi e difetti dei 2 metodi?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ho fatto un lavoro con le sessioni ma è un lavoraccio la si potrebbe definire una "sessionArray" dove aggiungi/elimini i prodotti, per instradarti cerca:
    -Session.Contents.Count() [per contare gli elementi della session generale]
    -Session.Contents.Remove(nomesession) [per eliminare un determinato elemento]
    ma t'anticipo che è complesso, è molto più facile fare una tabella provvisoria.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ognuno dei tre metodi (compreso quello indicato da cavicchiandrea) presenta pregi e difetti, per fare la scelta giusta bisognerebbe sapere che "politica" intendi implementare nel tuo sito. Per "politica" mi riferisco soprattutto al modo con il quale identifichi l'utente, ossia:
    • l'acquirente deve registrarsi o loggarsi prima di usare il carrello? oppure si può registrare/loggare prima di confermare l'acquisto?
    • permetti l'acquisto ad utenti non registrati?
    • quanto è importante che l'acquirente possa completare l'ordine in un secondo momento, magari il giorno dopo, oppure da un browser diverso?

    Tieni presente che il successo di un sito di e-commerce dipende molto dalla facilità con la quale l'utente usa il sito; troppi vincoli (registrazione, password, captcha, e-mail di conferma, login...) potrebbero scoraggiare l'utente inesperto.
    Chi non cerca trova.

  6. #6
    grazie per le spiegazioni.....

    non è esattamente un sito di ecommerce ma è un sito dove dei rivenditori possono ordinare dei prodotti dalla casa madre leggendoli dal DB della casa madre.
    quindi sono tutti utenti che si sono loggati prima di accedere e non posso neanche utilizzare una tabella provvisoria per inserire gli articoli diciamo temporanei.
    l'unica soluzione che mi resta è con le variabili di sessione.....

    qualcuno di voi conosce qualche esempio che mi possa aiutare??

  7. #7
    Originariamente inviato da mpr79
    grazie per le spiegazioni.....

    non è esattamente un sito di ecommerce ma è un sito dove dei rivenditori possono ordinare dei prodotti dalla casa madre leggendoli dal DB della casa madre.
    quindi sono tutti utenti che si sono loggati prima di accedere e non posso neanche utilizzare una tabella provvisoria per inserire gli articoli diciamo temporanei.
    l'unica soluzione che mi resta è con le variabili di sessione.....

    qualcuno di voi conosce qualche esempio che mi possa aiutare??
    Se queste sono le condizioni allora ti consiglio anch'io l'uso di un paio di tabelle, anzi, puoi usare direttamente le tabelle degli ordini. Esempio:
    • Tabella Ordini: ID, Numero, Data, IDCliente, ... , Stato
    • Tabella DettaglioOrdini: ID, IDOrdine, Codice, Quantità, ...

    Il campo Stato lo userai per capire se è un ordine temporaneo o definitivo.
    Con questa impostazione l'utente si ritroverà il proprio carrello anche se chiude e riapre il browser, anche nei giorni seguenti. Per non sprecare troppo spazio sul database, ogni tanto puoi far partire una query che elimina gli ordini non completati più vecchi di tot giorni.
    Chi non cerca trova.

  8. #8
    Perfetto e capito tas grazie....

    Ultima domanda che mi opprime, dovuta sicuramente alla inesperienza e alla poca conoscenza.

    Mettiamo che io ho fatto un ordine e quindi ho scritto i dati nella mia tabella.
    i campi che ho scritto sono questi qua:
    contarigheordine - articolo - qta - prezzo - codicecliente - numerordine
    quindi in base a quanti articoli ho ordinato il mio contarigheordine si è incrementato ogni volta.... se ho ordinato 3 articoli avrà come valori 1 - 2 e poi 3.
    Poco dopo aver fatto l'ordine, mi accorgo che ho ordinato un prodotto in più mettiamo il terzo, quindi riaccedo all'ordine, cancello l'articolo relativo al contarigheordine=3 (quindi la terza riga) e faccio un update dell'ordine (cosa purtroppo prevista in quello che devo fare, vi ripeto non è un sito ecommerce) cosa accade al database??
    cioè io facendo un semplice UPDATE aggiorno i record relativi a contarigheordine 1 e 2 e cancello il record relativo a contarigheordine=3 tutto insieme?!
    "UPDATE FROM tabella SET etc etc etc WHERE codicecliente=cliente1 AND numerordine=2" fa tutto questo contemporaneamente ?!
    Oppure devo fare prima un delete e poi un update??
    Stesso problema se invece che cancellare un ordine riaccedo e ne aggiungo un'altro.....
    grazie spero di essermi spiegato bene

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.