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

Langage PHP Discussion :

[Tableaux] Méthode de catégorisation simple et fonctionnelle


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 10
    Points : 10
    Points
    10
    Par défaut [Tableaux] Méthode de catégorisation simple et fonctionnelle
    Bonjour!

    Je développe en PHP depuis plusieurs années déjà et je travaille à une framework perso. L'une des classes sera dédiée à la catégorisation du contenu.

    Le problème est que je recherche depuis un bon moment une façon simple et fonctionnelle de catégoriser le contenu. Pour le moment, j'utilise la méthode avec un champs parent_id, mais évidemment cette méthode impose rapidement ses limites.

    J'ai trouvé aussi une solution qui consiste à attribuer un left_id et un right_id à chaque élément. Cette méthode est beaucoup plus avantageuse mais beaucoup plus complexe (surtout lors d'un déplacement d'un bloc vers un parent différent).

    Évidemment, l'utilisation du XML est simple, mais je pense ça peut devenir lourd assez rapidement.

    J'aimerais donc savoir de votre coté, comment catégorisez-vous vos éléments.

    Merci à vous!

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 33
    Points : 41
    Points
    41
    Par défaut
    Pour la "catégorisation" de données entreliées, avec les structures de données de graphe classiques et les algorithmes qui vont avec.

    Pour un simple tree, le "parent_id" convient très bien jusqu'à des centaines de milliers d'enregistrements, dans le cas où tu stores les données dans une table (mysql si possible), il faudra juste prendre soin de placer les bons index en plus des clés.
    Exemple:
    relation info (infoID, name, parentID)
    2 index b-tree:
    - (infoID)
    - (infoID, parentID)

    Dans un fichier ce n'est pas une bonne idée, à part si tu génères un fichier .php qui contient directement les données, c'est à dire directement la déclaration de l'arbre comme tableau complexe.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    10
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2005
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    Pour la "catégorisation" de données entreliées, avec les structures de données de graphe classiques et les algorithmes qui vont avec.
    Tu peux expliquer ce que tu veux dire?

    D'autres opinions?

Discussions similaires

  1. [Tableaux] Lire une table simple avec foreach
    Par dreeve dans le forum Langage
    Réponses: 2
    Dernier message: 21/03/2008, 19h38
  2. [Tableaux] Méthode de résolution
    Par snaxisnake dans le forum Langage
    Réponses: 9
    Dernier message: 03/03/2008, 20h44
  3. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 21h13
  4. [Tableaux] pas très sur de la méthode...
    Par Thierry8 dans le forum Langage
    Réponses: 7
    Dernier message: 12/10/2005, 14h25
  5. Méthode simple pour gérer les collisions
    Par Hyoga dans le forum OpenGL
    Réponses: 2
    Dernier message: 19/02/2005, 14h43

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