carrello

Sto provando a sviluppare un sito e-commerce.

Il navigatore (utente A) accede al prodotto desiderato, ne verifica la quantità ed effettua l'inserimento nel carrello della quantità scelta ed eventualmente disponibile; pertanto automaticamente il sistema diminuisce la quantità disponibile in magazzino e se un'altro navigatore (utente B) si connette ed effettuata la stessa scelta(medimo prodotto) troverà la nuova disponibilità (al netto dell'acquisto precedente).

Il mio problema è il seguente se l'utente A non effettua l'acquisto (no ok banca, perdita connessione, uscita dal sito senza perfezionare l'acquisto) come devo fare per riportare l'esistenza dei prodotti scelti allo stato iniziale?

Grazie

Giovanni

inviato 9 anni fa
bonann23
X 0 X

Per riportare il tutto allo stadio iniziale dovresti scorrere il carrello e aggiungere quello che avevi tolto.

Ma è la gestione giusta?

Non sarebbe meglio utilizzare un campo in + in cui si sommano le prenotazioni e che la quantità effettiva venga aggiornata una volta confermato l'ordine?

risposto 9 anni fa
LonelyWolf
X 0 X

non capisco potresti spiegarti meglio?

Giovanni

risposto 9 anni fa
bonann23
X 0 X

Per un programma tradizionale (non web) la cosa sarebbe fattibile attraverso l'uso delle transazioni. Con PHP le transazioni non possono essere usate per questo scopo, quindi probabilmente ti conviene decrementare il numero di prodotti disponibili solo all'atto dell'effettivo acquisto.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Si, ma se, malaguratamente, due navigatori acquistano lo stesso prodotto superando la quantità disponibile allora avrò effettuato la vendita di un prodotto non disponibile in magazzino!!!!!!!!!!!!!!!!!

Giovanni

risposto 9 anni fa
bonann23
X 0 X

Al momento della generazione dell'ordine (Cioè all'insert nella tabella ordini) fai un controllo degli articoli nel carello disponibili. Se Non sono disponibili perchè un attimo prima qualcuno ha ordinato e terminato un determinato articolo, allora la funzione che genera l'ordine genera un'errore. 

(Che giri di parole...  :buck: )

 :bye:

risposto 9 anni fa
Marco Dario
X 0 X

Al momento della generazione dell'ordine (Cioè all'insert nella tabella ordini) fai un controllo degli articoli nel carello disponibili. Se Non sono disponibili perchè un attimo prima qualcuno ha ordinato e terminato un determinato articolo, allora la funzione che genera l'ordine genera un'errore. 

(Che giri di parole...  :buck: )

 :bye:

è la soluzione più semplice al problema, e se non ci sono tantissimi clienti va più che bene. Altrimenti ci sarebbe da lavorare parecchio per realizzare un sistema transazionale.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ti ho battuto sul tempo Gianni!  >:D

risposto 9 anni fa
Marco Dario
X 0 X

grazie

giovanni

risposto 9 anni fa
bonann23
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda