IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[Conception] Structure arborescente de catégories


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 5
    Par défaut [Conception] Structure arborescente de catégories
    Bonjour à tous,

    Je suis entrain de restructurer mon site et je cherche un moyen de bien structurer les categories d'articles.

    Je voudrais pouvoir créer des categories et des sous-categories à l'infini.

    Par exemple :

    Categorie1
    Sous-Categorie1
    Sous-sous-categorie1
    Sous-sous-sous-categorie1
    Article1
    Article2
    Sous-sous-sous-categorie2
    Article3
    Article4
    Sous-sous-categorie2
    etc...

    J'aimerais donc qu'on puisse créer autant de sous-catégorie que possible.

    Les catégories seront indexées dans la base de données. Je comptais donner a chaque categorie (que se soit une categorie ou une sous-sous-categorie) une id.

    Mais je cherche moyen optimisé de gérer tout ca. Que se soit pour l'ajout de nouvelles catégories ou pour l'affichage.

    Je pensais a une structure arborescente (ca me semble logique).
    Mais j'hésite sur la manière de l'implémenter.

    Je pensais donner a chaque categorie (= sous categorie etc..)
    un id, sa profondeur (ex :1 pour categorie, 2 pour sous-categorie ect..), et l'id de son pére (la catégorie parente).

    Pour l'affichage, j'aurai fait ca de manière récursive mais là encore j'hésite dans la manière de l'implémenter, de faire les boucles etc...

    Tout conseil me sera très utile.

    Merci d'avance.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Par défaut
    Bonjour,

    Moi ça me rappelle les arbres et le concept père > fils.

    Je m'explique :

    On pourrait voir chaque catégorie de manière identique mais en précisant sa catégorie parent qui serait en fait l'identifiant du parent.

    Exemple :
    Catégorie : Main
    Identifiant : 1
    Id Parent : NULL

    Catégorie : Articles
    Identifiant : 2
    Id Parent : 1

    Catégorie : Soumis par les visiteurs
    Identifiant : 3
    Id Parent : 2

    Ensuite on utilise PHP pour faire la mise en forme en fonction des identifiants.

    J'espère avoir été assez souple dans mon explication ?

  3. #3
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Créer 2 tables dans ton ODBC (mysql par exemple) :

    Une table CATEGORIE(id_cat,nom,description)
    Une table SOUSCATEGORIE(id_souscat,nom,description,id_cat)

    id_cat dans la table SOUSCATEGORIE contiendra l'id de la catégorie à laquelle elle est associée.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 5
    Par défaut
    MightyDucks > Je pensais justement faire cette méthode. Je voulais ajouter la profondeur mais enfaites cela ne sert a rien, l'id du pére suffit comme tu le montre dans ton exemple.
    Et ton explication est très claire.

    ThomasR > Je me suis mal exprimé, je voulais pouvoir créer des sous-catégories, des sous-sous-catégories des sous-sous-sous-catégories de plus en plus petites et toutes imbriquées les unes dans les autres, un peu comme un arbre qui s'agrandit.


    Merci à vous deux pour vos réponses.

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Sans vouloir être véxant, je te déconseille la solution de ThomasR car top peu évolutive. Par contre je rejoins MightyDucks sur la gestion avec une seule table catégorie dans laquelle tu as l'identifiant du parent. Ca me semble être la manière la plus fiable et la plus courante. C'est sur que si tu as 100 niveaux, ca va poser problème pour la réccursivité (et encore...) mais bon à mon avis tu n'auras aucun souci en terme de performance vu ce que tu demandes.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Transports

    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Par défaut
    Ah bah faut que je téléphone à mon ancien profs d'algo, il serait content de voir que pour une fois j'ai été clair dans l'explication d'un algo

Discussions similaires

  1. [C#] Structure arborescente. Construire un arbre d'Object.
    Par PerpetualSnow dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/08/2006, 13h57
  2. [Conception] Structure appropriée pour 1 clé et 2 valeurs
    Par maximus001ma dans le forum Général Java
    Réponses: 13
    Dernier message: 01/03/2006, 14h12
  3. Structure arborescente et STL
    Par Thomus38 dans le forum SL & STL
    Réponses: 2
    Dernier message: 27/11/2005, 17h44
  4. [débutant][Conception] Structure dynamique avec Java
    Par blaiseac dans le forum Général Java
    Réponses: 5
    Dernier message: 18/11/2004, 23h00
  5. Coherence dans les structures arborescentes...
    Par Alec6 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/09/2004, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo