Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
Je dispose d'éléments de base « groupe » :
CREATE TABLE IF NOT EXISTS `groupes` (
`id_groupe` int(11) NOT NULL AUTO_INCREMENT,
`groupe` varchar(250) NOT NULL,
`date_creation` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id_groupe`)
)
Je créé une « structure d'arbre » en associant en cascade un groupe avec un autre (au passage, je viens de me rendre compte qu'en fait je n'ai pas besoin de la table relationnelle vue qu'un groupe enfant ne peut avoir qu'un seul groupe parent : je ferais mieux de créer un champ « id_groupe_parent » dans la table « groupes » ?) :
CREATE TABLE IF NOT EXISTS `groupes_groupes` (
`id_groupe_groupe` int(11) NOT NULL AUTO_INCREMENT,
`id_groupe_parent` int(11) NOT NULL,
`id_groupe_enfant` int(11) NOT NULL,
`date_creation` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id_groupe_groupe`)
)
Je voudrais, partant d'un des groupes, connaître tous les groupes qu'il contient. Ce que je ne vois pas, c'est comment faire intervenir la notion de niveau. Je peux passer au suivant facilement, mais comment je fais pour passer au suivant suivant ?
Les groupes contient d'autres éléments. Je veux faire une somme sur tous les éléments contenus :
Groupe 1 :
- Groupe 1 :
-- Elément 1 : 10
-- Elémént 2 : 20
- Groupe 2 :
-- Groupe 1 :
--- Elément 1 : 30
--- Elémént 2 : 30
-- Groupe 2 :
--- Elément 1 : 10
Total : 100 !
Merci !
Dernière modification par moijhd (18-06-2011 21:54:48)
Hors ligne
Je suis capable de faire ce que je veux avec des requètes multiples et en faisant intervenir du PHP, mais je voudrais le faire qu'en SQL.
J'ai aussi lu le lien qui était donné, mais j'ai du mal à voir comment ça m'aide...
Ou alors, c'est beaucoup plus lourd que ce que je pensais puisqu'il faut que je change de strucutres pour calculer les NFM_BG et les NFM_BD ?
Dernière modification par moijhd (18-06-2011 21:46:52)
Hors ligne
alors, lis le bien, parce que c'est exactement ce qu'il te faut
a++
Hors ligne
Bonsoir,
Il est vrai que le lien de pierrot contient tout ce que tu veux concernant la gestion d'arbres, y compris les arbres intervallaires et leur modélisation en SGBDR.
Par contre il est vrai aussi que si tu souhaites une requete qui te compte le nombre total de groupes que contient chaque groupe_groupe, cela ne t'aidera pas. Est-ce bien cela que tu cherches à faire?
Cordialement,
Jc
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Ce que je retiens du document, c'est que je dois changer de strucuture ou lui faire subir une transformation pour qu'elle rentre dans le cadre d'application.
Ce que je cherche à faire par rapport à mon petit arbre : 100 = ( ( 30 + 30 ) + ( 10 ) ) + ( 10 +20 ) ).
Hors ligne
Il te faut faire alors un truc du genre:
J'ai pas test (fait à l'arrache) mais l'idée est là.
Jc
EDIT: oups petite erreur de visu après relecture, essaye plutot ceci
te reste ensuite à prendre en compte le nombre de groupes groupe_groupe.
Dernière modification par Jc (18-06-2011 22:36:02)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Je vais réfléchir sur cette requète.
Hors ligne
Au risque de vous faire crier, j'ai choisi de faire plusieurs requètes en passant par un boucle en PHP...
Hors ligne
Ouhla, ca ne me fait pas crier, mais pour apprendre il faut trouver la solution. Si on fait quelque chose que l'on sait déjà faire, on n'apprends rien. Donner une solution qui fonctionne aide à comprendre, mais vous ne saurez pas résoudre un problème similaire pour autant tant que vous ne l'aurez pas fait par vous-même.
"C'est vous qui voyez"
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Pages :: 1