Exact, tu peux te constituer un panier de manière permanente, le valider, ou non.
Il te suffit de rajouter un champ dans ta table: panierValide (0 ou 1)
tant que ton booléen est à 0 tu peux modifier ton panier, une fois le panier validé c'est que le panier est transformé en commande.
tes utilisateurs pourraient ainsi constituer leurs paniers sans les perdre au bout de n minutes de session inactive.
plus tard, pour tous les paniers validés,et une fois les commandes livrées, il te suffira de lancer une requete de suppression DELETE FROM Panier WHERE Valide = 1 AND EtatCommande = 5
5 étant le status livré et payé.
pour les utilisateurs non authentifiés utilise l'id de session dans la table à la place de l'id de l'utilisateur, positionne l'id utilisateur une fois le membre authentifié.
un membre peut démarrer ainsi la création d'un panier en non connecté, puis se connecter:
a la connexion:
UPDATE MonPanier SET IdUtilisateur=155445 WHERE IdSession=session_id()
périodiquement:
DELETE FROM MonPanier WHERE IdUtilisateur IS NULL AND DIFF(DatePanier,NOW(),60min)
DELETE FROM Panier WHERE Valide = 1 AND EtatCommande = 5
c un exemple!
++