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

Requêtes MySQL Discussion :

Tree view avec Représentation Intervallaire des arborescences!


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 27
    Points : 26
    Points
    26
    Par défaut Tree view avec Représentation Intervallaire des arborescences!
    Salut a tous,
    J'ai volue créer un Tree view de géstion des catégories depuis une BDD MySQL, la table est classique :
    => id
    => id_parent
    => titre
    Seulement voila! on m'as redirigé vers un super bon plan qui est " La Représentation Intervallaire des arborescences", impressionnant, interessant, mais j'ai deux questions a ce propos:

    1- Est ce que tous les scripts du tuto sont compatible MySQL 5 (en tous cas pas les version antérieurs car les procedures stocké c'est à partir du 5)?

    2- J'ai lu ce document, mais j'ai tjs du mal à comprendre Comment créer un tree view complet , de toutes les catégories et sous-catégories (et sous-sous-catégories ...etc)? N'est-it pas vrai qu'il faudra passer par les auto jointures quand même ? (merci de me filer un script, pour réaliser ce tree view)
    Merci infiniment à vous tous!

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    Citation Envoyé par zelig
    1- Est ce que tous les scripts du tuto sont compatible MySQL 5 (en tous cas pas les version antérieurs car les procedures stocké c'est à partir du 5)?
    L'article de Fred est écrit pour SQL Server... à toi d'adapter !

    Citation Envoyé par zelig
    [B]2- J'ai lu ce document, mais j'ai tjs du mal à comprendre Comment créer un tree view complet , de toutes les catégories et sous-catégories (et sous-sous-catégories ...etc)?
    Peux-tu donner un exemple de ce que tu entends par "treeview" ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 27
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par Antoun
    Peux-tu donner un exemple de ce que tu entends par "treeview" ?
    Et bien du genre:

    |-|Catégorie Principale1
    |-|Sous Catégorie1.1
    |--|Sous Sous Catégorie1.1.1
    |---|Sous Sous Sous Catégorie1.1.1
    |---|Sous Sous Sous Catégorie1.1.2
    |-|Sous Catégorie1.2
    |--|Sous Sous Catégorie1.2.1
    |-|Catégorie Principale2
    |-|Catégorie Principale3
    |-|Sous Catégorie3.1
    |--|Sous Sous Catégorie3.1.1
    |-|Catégorie Principale4

    Bon graphiquement ça peut s'arranger Mais le principe est bien visible, bref c'est le TreeView usuel, mais appliqué à des niveaux à l'infini (cad pas à un niveau définit)!

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    Pour cette vue, il te faut :

    1/ trier les éléments dans l'ordre de l'arbre
    2/ connaître la profondeur de chaque élément
    3/ concaténer les numéros d'ordre de chaque élément avec ceux de ses ancêtres

    Le 1/ est facile, il suffit de faire ORDER BY BordGauche. Pour le 2/, il faut faire une auto-jointure pour retrouver les pères de chaque élément et les compter. Pour le 3/, on peut utiliser la même auto-jointure et effectuer un GROUP_CONCAT (propre à MySQL, mais très pratique !).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT COUNT(*) AS Prof, 
      A.Titre, 
      GROUP_CONCAT(A.NumOrdre ORDER BY A.BordGauche SEPARATOR '.')
    FROM arbre A
      INNER JOIN arbre A2 
        ON A.BordGauche <= A2.BordGauche AND A.BordDroit >= A2.BordDroit
    GROUP BY A.ID
    ORDER BY A.BordGauche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Représentation intervallaire des arborescences et gestion des droits
    Par nicolassalocin dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/04/2011, 19h07
  2. [VB.NET] Tree view avec colonne
    Par Kropernic dans le forum Windows Forms
    Réponses: 2
    Dernier message: 28/09/2009, 08h18
  3. [C#]Remplir un tree view avec un data set
    Par maitesn1 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 06/07/2006, 09h32
  4. Représentation intervallaire des listes arborescentes
    Par PMAR dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/11/2004, 09h35
  5. Tree View avec XML et XSL
    Par Drooxy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/04/2003, 10h21

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