arbo - je suis perdu

Petit nouveau ! | 7 Messages

05 août 2008, 23:41

bon voila je crée une sorte de petite boutique en ligne pour un projet scolaire. un truc a la OS commerce and co.
mais je bloque sur un truc dans l’arborescence.
Alors voila comment OS commerce est foutu comme ça
- une table catégorie (avec ID , PARENT_ID) etc normal
- Une table produits (produit id , prix , nom , etc)
Bon je ne suis pas douée en arborescence. Mais je pense que après des petite bidouilles ça passe.
Mais voila je voudrai que certain produit est la possibilité d’avoir 3 type de prix alors que d’autre non.
Genre
Catégorie => sous catégorie => produits
Et pour d’autre
Catégorie => sous catégorie => produits 1 , produit 2 , produit 3
Mais alors la j’ai aucune idée de quoi aurai l’air la base MySQL et encore moins la façon de le géré

donc si vous avez une tite idea thx

Mammouth du PHP | 558 Messages

06 août 2008, 08:32

tu as deja donner une solution
Catégorie => sous catégorie => produits 1 , produit 2 , produit 3
c'est pas la methode que j'emploierais mais fautes de grive prenons des merles...
un autre solution.
tu te sert du contenu de categorie et la tu peut metter de 1 a l'infini(j'ai pas trouver le 8 coucher pour dire infini) produit cela est beaucoup plus souple.
c'est ce que j'utilise et sa fonctionne tres bien et sa à la souplesse dont j'ai besoin.
il existe encore d'autre methode

Mammouth du PHP | 19672 Messages

06 août 2008, 08:52

Il y a un point qui va peut-être te permettre d'avancer : chacun de tes produit aura une référence unique : pour le même produit avec trois prix différents, il te faudra trois références distinctes.

Par ailleurs, pour les parentés de catégories, ne penses pas en terme de "tables" ou de "colonnes" mais en terme "d'entité" et de "propriétés". Ici, "Catégorie" est une entité. La "parenté" est une propriété de "Catégorie". Partant de là, tu auras une relation réflexive entre ton entité "Catégorie" et... elle-même.

Traduit en table de base de données, ça va donner une seule table comportant d'une part une clé primaire, d'autre part une clé étrangère correspondant à la clé primaire d'une catégorie parente. Si une catégorie n'a pas de parente, alors la clé étrangère aura une valeur NULL ou à la rigueur la même valeur que la clé primaire mais ce serait moins opportun.

De cette manière, tu peux avoir des filiations sur autant de niveaux que tu veux. Par la suite, tu as tes produits qui eux sont rattachés à une catégorie : "Produit" sera une entité à part puisque chaque catégorie pourra avoir 0 à n produits, mais chaque produit n'appartiendra qu'à une seule catégorie. Quoique dans certains cas on pourrait aussi avoir un produit appartenant à plusieurs catégories différentes, mais dans ce cas, tu vas te retrouver avec une table relationnelle entre catégorie et produit.

Je ne sais pas si ces explications sont très claires : digère-les un peu, avec un peu de réflexion tu vas réaliser qu'en fin de compte c'est assez simple.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Petit nouveau ! | 7 Messages

06 août 2008, 13:22

ba en faite moi je prend ça un peu comme un repertoire windows , ta des repertoire et des fichier

Catégorie => sous catégorie => produits 1 , produit 2 , produit 3
pour ça le produit 1 , 2 et 3 son vraiment des produit distinct mais doive s'afficher sur la meme page
comme par exemple :
voiture 307 1.4l : 3porte / 5 porte / break
les produit son totalement different mais reelement super liée entre eux.
donc a l'affichage faudrai une page avec 3 cadre dans cette page, avec pour chaqun un bouton acheter vu que le prix etc change

alors que pour une 207 2.3l : il existe que le modele 3p par exemple.
donc quand on clic la page qui s'affiche est une page avec un seul et unique produit

la ou j'ai du mal c'est que pour la 307 c'est une sorte de répertoire alors que j'aimerai que se soit un fichier (en façon de pensé windows)

----------------------------------------------------------------------------------------

sinon j'y est pensé et je me suis dit qu'un truc genre
j'ai ma table categories basique .

Code : Tout sélectionner

categories_id categories_name categories_image parent_id sort_order
et ma table produits

Code : Tout sélectionner

products_id products_categories_id (lien entre ma table produit et categories) products_name products_image products_price products_link (produit enfant de)
je crée le champ products_link et en gros je dit que (je garde les voiture) voiture 307 1.4l 3porte est un produit parent et je crée 307 1.4l 5 porte et 307 1.4l break qui devienne produit enfant (ou liée) ou j'entre le products_id du parent dans le products_link des 2 autre

ou je crée une table entre les 2 avec

Code : Tout sélectionner

bidule_id bidule_products_id bidule_products_linked
qui s'occuperai de faire le liens entre les produits
(perso j'ai pas de super qualité de code , je trouve ça un peu brouillon non?)