Créer une table sur MYSQL

Résolu
Messages postés
15
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
5 décembre 2005
-
Messages postés
15
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
5 décembre 2005
-
slt à tous,

je souhaite créer une table pour une muni boutique en ligne, mais je
bute sur le comment doit representer ma table details commande que mes
client auraient sur mon site.



tous ce qui est coordonnés perso du client seront enregistrer ds une
tab à part. mais pour commade, je ne vois pas comment faire

C'est donc pour ça que je voudrais votre avis.

ex: un client qui commande ces 3 produits :





ici table details commande :





ID ------ Refprod ------ Qte ------ Prxttc


1 ------ PROD401 ------ 2 ------ 20


2 ------ PROD502 ------ 1 ------ 10


3 ------ PROD605 ------ 3 ------ 25





je ne vois pas comment enregistrer les details de cette commande dans
la BD sur une seule ligne pour que les futures requetes soient
optimisées.


si je dois les enregistrer comme je les represente ci dessus, he ben
pour selectionner les details d'une commande d'un client ça va être la
folie.(3 lignes pour une seule cde) j'imagine si des centaines des
clients commane chachn 20 produits de ref differents (|o|) , eh ben
bonjour la table details commande.





JE compte sur vous pour m'eclaircir dans cette obscurité.

6 réponses

Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

Salut,


tu peux aussi faire une table commande comportant par exemple



idCommande, idClient, dateCommande, nbLigne

(nbLigne permet de savoir si la commande est integre)



et une table detailCommande



idProduit, qteProduit, prixUnitaire, idCommande [refProduit, designationProduit]



Ce qui te permettra d'éditer toutes les factures du client même si le prix du produits évolue

Cependant cette architecture de commande ne prend pas en compte la
suppression d'une référence d'un produit sauf si tu rajoutes ce qui est
entre crochet



Voila, je ne pense pas que mettre la solution de malik soit la plus
'propre' car cela implique une maj du code a l'ajout/suppression de
produit, mais cela n'engage que moi


"They are 10 sorts of persons whose understand binary and whose not"
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
a supposer que t'as pas des milliers de produits, tu peux resoudre ton probleme avec un vecteur "produit". Si c1 a le vecteur 0120, ca veut dire qu'il a commande 0 prod1, 1 prod2, 2 prod3 et 0 prod4... mais je ne sais pas si au finish c'est plus rapide!

Sinon tu peux aussi imaginer dans l'autre sens une table 'produits' avec entre autre sur chaque ligne un produit puis les id des clients separe par un point virgule. avec un split tu recuperes les id et elle est belle...
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
Ma solution est peut-etre plus orientee XML (je fais mumuse dedans en ce moment, je construis plein de zolis pages avec des zolis tags ), maintenant quand a savoir laquelle conviendrait le mieux... la seule personne qui peut le dire c'est peterklm!

Enjoy++
Messages postés
15
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
5 décembre 2005

slt, je vous remercie pour ces reponses.

Je trouve celle de [auteurdetail.aspx?ID=132122 garfield90]
n'est pas trop mal, et j'avais une petite idée sur cette technique. juste une chose qui reste à preciser.

Si j'envisage d'effacer une commande (idcommande) dans la table
commande est ce que cela se repercutera directement dans la table
details pour supprimer les details de ce meme produit. Ou est ce qu'il
faut aller le supprimer dans la table details.



merci
Messages postés
388
Date d'inscription
lundi 7 juillet 2003
Statut
Webmaster
Dernière intervention
10 février 2009

Ca dépend si tu fais des triggers ( fonctions internes a la BDD que
tu programmes a certaines action) mais je pense que tu dois etre sur
MySQL ( je crois pas qu'il y en ai) donc tu dois le programmer



"They are 10 sorts of persons whose understand binary and whose not"
Messages postés
15
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
5 décembre 2005

ok merci.