Modérateur PHPfrance |
2575 Messages
13 oct. 2008, 18:47
Le stock ne doit pas être décrémenté que si le panier est confirmé (payé) ce qui donne naissance à une commande effective enregistrable dans la base de données en tant que commande payée. Le panier reste virtuel quelque soit la technique de son déploiement : mémoire de session, fichier disque ou table de base de données.
La technique qui consiste à créer le panier directement dans la base de données, même si il est momentanément temporaire avant de se transformer en commande, est plus avantageuse car elle ne surcharge pas le serveur Web mais le serveur SGBD de données ce qui est plus logique, car le SGBD est plus spécialisé dans la gestion multiutilisateurs de données.
Mais chaque technique a ses avantages et ses inconvénients. La technique de sessions est plus rapide car elle déploie un accès mémoire mais elle dépend de l'activation ou pas des cookies côté navigateur et surcharge la mémoire/disque du serveur Web au niveau de la gestion et la manipulation des données de sessions. La technique fichiers surcharge le système de fichiers et peut engendrer des erreurs d'accès disque mais elle est plus rapide qu'un accès SQL. Et la technique de base de données augmente le taux de requêtes SQL mais les traitements sont plus rapides et les données sont plus cohérentes, validées et sécurisées contrairement aux autres techniques.
Mais pour ta question sur le stock, aucune de ces techniques ne peut éviter le cas de figure que tu évoques car cela relève de la logique métier du programme. Tu dois fixer une règle de gestion pour palier à ce problème. Par exemple : Le stock n'est mis à jour que si le client confirme et paye sa commande. Ce qui semble le plus logique à moins que tu veuilles développer le truc et permettre un système de réservation et à ce moment là, la technique base de données est de mise, car le système de réservation doit être intégré dans ton modèle conceptuel de données.
Modifié en dernier par
sadeq le 14 oct. 2008, 22:05, modifié 2 fois.
--------
//////----
//---
//----
//////
-------
//---
//----
//---
//----
//---
//
------
//////----
//////-----
//////
-----
||--------
||--
||---
||
Prendre le recul n'est pas une perte de temps.
ps:
Affrontez moi dans l'arène