Classer contacts par catégories

Résolu
matt38100 Messages postés 2 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 23 février 2006 - 23 févr. 2006 à 11:46
matt38100 Messages postés 2 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 23 février 2006 - 23 févr. 2006 à 12:08
Bonjour à tous et toutes.

Je suis en train de dévellopper un petit annuaire de contacts en PHP/MySQL et j'aurais besoin d'un petit coup de pouce pour la modélisation d'une partie de ma base.

Mes contacts (avec leurs infos "nom", "prenom", "tel1", etc...) doivent appartenir à des catégories. Or ces catégories peuvent être imbriquées (genre des dossiers et sous-dossiers dans un OS).

Par exemple pour mes catégories il faudrait que j'arrive à faire un truc du style :

Cat A --- Sous-Cat A.1
--- Sous-Cat A.2

Cat B --- Sous-Cat B.1 --- Sous-Sous-Cat B.1.1
--- Sous-Sous-Cat B.1.2
--- Sous-Cat B.2 --- Sous-Sous-Cat B.2.1
--- Sous-Sous-Cat B.2.2
--- Sous-Cat B.3

Cat C --- Sous-Cat C.1

etc...
etc...
etc...

Les utilisateurs appartiendront uniquement à une catégorie (A,B ou C), une sous-catégorie (A.x ou B.x ou C.x), ou une sous-sous-catégorie (A.x.x ou B.x.x ou C.x.x).

Mon problème est que je n'arrive pas à voir comment modéliser ma table "catégorie" afin de pouvoir gérer ces imbrications de catégories...

Je veux aussi pouvoir par la suite faire une recherche en explorant les catégories (en 1er niveau affichage des Catégories, selon la selection en 1er niveau on affiche les Sous-cat correspondante, et encore selon la sélection on affiche les sous-sous-cat...)

J'éspère avoir été assez clair sur mon soucis.
Merci d'avance à tous ceux qui liront le post et qui pourront m'éclairer...

Je reste à dispo pour plus d'info sur mon problème

Merci et bonne journée

2 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
23 févr. 2006 à 12:02
Hello,

categories
cat_id
cat_id_mere
cat_libelle

Exemple :
cat1
cat1_1
cat1_1_1

table categories:
1, 0, cat1
2, 1, cat1_1
3, 2, cat1_1_1

Dans ta table users:
user_id
user_cequetuveux
cat_id

Quant tu veux afficher l'arbo des catégories pour un utilisateur :
tu regardes le cat_id dans la table user.
Tu v as chercher la catégorie correspondante dans la table categorie.
Tu boucles sur le cxat_id_mere : tant qu'il est différent de 0, tu vas chercher dans categorie where cat_id = cat_id_mere, et tu continues en changeant de cat_id_mere (celle du nouveau cat_id). Tu construits ton arbo comme ça, dans ujn tableau par exemple, ou une chaine, puis tu réaffiches ce que tu as obtenu une fois sorti de la boucle.
3
matt38100 Messages postés 2 Date d'inscription mercredi 7 septembre 2005 Statut Membre Dernière intervention 23 février 2006
23 févr. 2006 à 12:08
Merci a toi malalam, j'ai fait un rapide essai avec ce que tu viens de me donner et ca a l'air d'être ok pour ce que je veux faire...
Y a plus qu'a!!!!

Grand merci et bonne journée
0
Rejoignez-nous