Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 20-02-2008 13:13:41

astec37
Nouveau membre
Lieu: Angers
Date d'inscription: 05-10-2007
Messages: 8

[Résolu] Transactions et sessions

Bonjour à tous,

J'essaie actuellement de réaliser un mini site type e-commerce. J'ai donc un panier auquel je peux ajouter des articles.
Je souhaiterais diminuer le nombre d'articles en stock chaque fois que j'ajoute cet article à mon panier. Si le client valide la commande, alors tout va bien, et s'il l'annule, je remets les stocks à jour.

Est-il possible de gerer cela grâce aux transactions, à l'aide de commit/rollback ?

J'ai essayer de le faire mais je me retrouve avec un probleme de serialisation puisque je ne peux stocker en session la transaction.

Je voudrais donc savoir comment vous me conseillerez de traiter le probleme, ou bien si c'est possible malgrès tout avec les transactions.
Je pourrais également parcourir mon tableau à l'annulation de la commande, et ré-augmenter les stocks de chaque article, mais est-ce le meilleur choix ?

Merci de vos réponses

Guillaume

Dernière modification par astec37 (26-02-2008 10:03:59)

Hors ligne

 

#2 20-02-2008 13:36:18

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Transactions et sessions

Je peux pas vraiment te répondre, mais voici une autre solution du MoOx le flegmard:

Moi sans chercher bien loin, et n'aimant pas me prendre la tête avec les bases de données, je sauvegarderais les paniers dans une table, et quand j'affiche les stocks sur les pages produits (car je suppose que la finalité et là: avoir le stock des produits à jour en directe) je prends compte les stocks produits moins les stocks enregistrés dans les paniers.
En plus ma solution t'ouvre un porte sur la sauvegarde des paniers pour les clients smile

Hors ligne

 

#3 20-02-2008 22:42:58

astec37
Nouveau membre
Lieu: Angers
Date d'inscription: 05-10-2007
Messages: 8

Re: [Résolu] Transactions et sessions

Merci de cette réponse Mr.MoOx. Ton approche est effectivement intéressante, malheureusement, je n'ai pas besoin de sauvegarder les panier (c'est un site factice), donc je pense que ça ferais plus de développement que nécessaire.
Je pense donc que si le client annule la commande, je parcourrais le panier et je ré-incrémenterais la quantité en base pour chaque article. Enfin, si personne n'y voit d'inconvénient ! (je veux dire par là, n'est-ce pas trop sale de procéder ainsi ?)

Bonne soirée

Hors ligne

 

#4 20-02-2008 23:03:34

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [Résolu] Transactions et sessions

Le problème que tu va rencontré, c'est que si le client "annule" sa commande (en fermant la fenêtre?) je vois mal comment tu va pouvoir t'assurer qu'il y'a "annulation". Tu comprends le soucis?

Alors que avec les panier en base tu peux plus controler les quantités étant donnée que tu aurais accès à tous les paniers en même temps (chose plus difficile avec les sessions) ce qui te permet de recalculer les bonnes quantités en directe.
Dans tous les cas je ne te conseille pas de décrémenté le stock réel car il sera dur de le réincrémenté!


PS: Je suppose que ton site "factice" est dév à l'occasion d'un projet d'étude. Tu a déjà pensé au problème correctement, et rien que ça c'est bien smile . A reporter dans le rapport !

Hors ligne

 

#5 23-02-2008 15:41:43

astec37
Nouveau membre
Lieu: Angers
Date d'inscription: 05-10-2007
Messages: 8

Re: [Résolu] Transactions et sessions

Effectivement, je n'avais pas pensé à la déconnexion "indirecte".
Je vais donc suivre tes conseils, passer par une table commande.

En tout cas merci beaucoup de ton aide

Guillaume

ps: bien vu pour le projet d'étude wink

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages