Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/08/2011, 10h50   #1
Invité de passage
 
Femme
Inscription : août 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
Par défaut Construction de BDD et pages catégories

Bonjour !

J'ai un problème assez compliqué à expliquer, mais je vais faire en sorte d'être comprise.


Je dois faire un site commercial contenant divers types de produits liés a des sous-catégories.

Jusque là, rien d'extraordinaire.


Cependant, Mes sous-catégories dépendent du choix précédent a chaque fois.

C'est a dire que si en 1er choix (l'ordre est imposé!) le client choisi la catégorie A, il aura le choix entre les sous catégories A&B d'une autre table de catégorie.

En revanche, s'il choisi la catégorie B, il n'aura que droit de choisir les sous catégories A&C.

Puis ce second choix induira un 3eme, etc...


Sachant qu'il peut y avoir une 10aine de sous catégories qui s'enchainent, chacune dans un ordre imposé, et certaines catégories n'en proposeront que 2.



Un peu a l'image d'un site comme grosbill : on choisi informatique, donc on a de proposé que les composants informatiques, pas le reste. Puis on choisi disque dur, on obtient les sous catégories de capacité, et pas de RAM ou moteur graphique qui sont liées a d'autres catégories.



Je ne parviens pas a comprendre comment monter ma base de données ainsi que mes pages, afin d'obtenir cette succession de catégories qui au final filtreront mon produit. Sachant qu'on ne peut pas atteindre un produit tant qu'on ne valide pas chacun de ces filtres.



J'espère être assez claire, sinon n'hésitez pas a me dire ce qui n'est pas compréhensible, que je puisse reformuler ^^


Merci d'avance
Lyrana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 12h42   #2
Membre éprouvé
 
Homme Gaetan
Webmaster
Inscription : janvier 2007
Messages : 386
Détails du profil
Informations personnelles :
Nom : Homme Gaetan
Âge : 40
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : Biens de consommation

Informations forums :
Inscription : janvier 2007
Messages : 386
Points : 441
Points : 441
Envoyer un message via MSN à Gaetan_
Bonjour,

A mon avis de la facon la plus basique :

Table catégorie :
ID_cat | Categorie


Table Sous-catégorie :
ID_sscat | ID_cat | Souscategorie


Table Sous-sous-catégorie :
ID_sssscat | ID_sscat | Souscategorie

Et pour ta table article tu rajoutes ces 3 ID :

ID_Article | ID_cat | ID_sscat | ID_sssscat | ....

Tu pourras ainsi faire matcher les articles au fur et à mesure que le choix s'affine.
Gaetan_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 14h02   #3
Invité de passage
 
Femme
Inscription : août 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
hmmm c'est ce que je craignais.


Donc moi avec une 15aine de sous-catégories, faut que je pointe mon produit vers 15 tables, avec à chaque fois une requete limitant les choix des sous catégories...


sachant que ce que la sous catégorie m'indique dépend de la catégorie choisie.
Et que la sous sous catégorie dépend de la sous catégorie et de la catégorie, etc etc sur 15niveaux...

ca fait pas un peu crados comme requete ?
Lyrana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 14h06   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
Envoyé par Lyrana Voir le message
Donc moi avec une 15aine de sous-catégories, faut que je pointe mon produit vers 15 tables, avec à chaque fois une requete limitant les choix des sous catégories...
Non, pas du tout ! la 15aine de sous-catégories sont dans la table "Sous-catégorie"

[Edit] Oups, j'avais pas tout lu ... 15 niveaux ??
Qui peut avoir envie de cliquer 15 fois (15 listes déroulantes ?) avant de trouver un produit ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 14h13   #5
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bon,
il y a bien une solution avec une seule table :
Citation:
T_TABLE_CATEGORIES :
id_cat (auto-increment)
nom_cat
id_cat_parent -> id_cat de la categorie parente
la 1ere liste (niveau 0) a : id_cat_parent = 0

Exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
ic_cat	nom_cat		id_cat_parent
1	catA		0
2	catB		0
3	catC		0
...
11	sscatA1		1
12	sscatA2		1
13	sscatA3		1
14	sscatA4		1
...
21	sscatB1		2
22	sscatB2		2
...
111	ss-sscatA1	11
112	ss-sscatA2	11
...
1111	ss-ss-sscatA2-1	112
1112	ss-ss-sscatA2-2	112
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/08/2011, 14h13   #6
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 772
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 772
Points : 2 329
Points : 2 329
Bonjour,

Tu auras autant de table que de "niveaux" de catégorie, pas que de sous-catégorie

Exemple :
- A, B et C sont des catégories
- D, E des sous-catégories
- F et G des sous-sous-catégories
=> 3 tables pour les catégories, une pour l'article.
FirePrawn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 14h23   #7
Invité de passage
 
Femme
Inscription : août 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
a delete, ainsi que le suivant ^^'''
Lyrana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 14h26   #8
Invité de passage
 
Femme
Inscription : août 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
FirePrawn : ca je l'ai bien compris, mais le truc c'est que j'ai réellemen une 15aine de niveaux de catégories ^^""""


jreaux : impec ca correspond exactement et ca me simplifiera la vie, tant du coté affichage successif des catégories, que de la selection des produits, et de la création des futures catégories et niveaux de catégorie.

Probleme résolu


edit :
Citation:
Envoyé par Jreaux Voir le message
[Edit] Oups, j'avais pas tout lu ... 15 niveaux ??
Qui peut avoir envie de cliquer 15 fois (15 listes déroulantes ?) avant de trouver un produit ?

mon client
en fait c'est un site de produits ultra spécifiques pour professionels. Avec des formats spécifiques qui conduirons petit a petit a un résultat limité entre 1 et 5produits, et qui n'ont pas de description réelle, car les sous catégories elles meme servent a différencier le besoin.


Je trouve ca assez abérant pour ma part, mais quand le client demande, le larbin execute
Lyrana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 14h28   #9
Invité de passage
 
Femme
Inscription : août 2011
Messages : 5
Détails du profil
Informations personnelles :
Sexe : Femme

Informations forums :
Inscription : août 2011
Messages : 5
Points : 1
Points : 1
erreur de clic
Lyrana est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 14h31   #10
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Citation:
"... le client est Roi , le Codeur est son bouffon ... ou son esclave (?)"
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2011, 14h54   #11
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 772
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 772
Points : 2 329
Points : 2 329
Citation:
Envoyé par jreaux62 Voir le message
Bon,
il y a bien une solution avec une seule table :

la 1ere liste (niveau 0) a : id_cat_parent = 0

Exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
ic_cat	nom_cat		id_cat_parent
1	catA		0
2	catB		0
3	catC		0
...
11	sscatA1		1
12	sscatA2		1
13	sscatA3		1
14	sscatA4		1
...
21	sscatB1		2
22	sscatB2		2
...
111	ss-sscatA1	11
112	ss-sscatA2	11
...
1111	ss-ss-sscatA2-1	112
1112	ss-ss-sscatA2-2	112
Mais bien sûr ! J'ai eu un cas comme ça cette année en SQL avancé en plus, j'aurais du y penser ! Bien vu l'pro
FirePrawn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h49.


 
 
 
 
Partenaires

Hébergement Web