Bonjour,
Voila plusieurs jours que je m'efforce à faire une arborescence en MYsql php sans trouver la bonne requette SELECT à taper :
ci dessous le schéma se base :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 CREATE TABLE IF NOT EXISTS `rubrique` ( `ID_RUBRIQUE` bigint(4) NOT NULL AUTO_INCREMENT, `INTITULE` varchar(255) NOT NULL, `DESCRIPTION` text, `KEYWORD` varchar(255) DEFAULT NULL, `URL` varchar(255) NOT NULL, `ETAT` int(11) NOT NULL, PRIMARY KEY (`ID_RUBRIQUE`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=21 ; CREATE TABLE IF NOT EXISTS `contien` ( `ID_RUBRIQUE` bigint(4) NOT NULL, `ID_RUBRIQUE_1` bigint(4) NOT NULL, `NIVEAUX` int(11) NOT NULL, `PLACE` int(11) DEFAULT NULL PRIMARY KEY (`ID_RUBRIQUE`,`ID_RUBRIQUE_1`), KEY `I_FK_CONTIEN_RUBRIQUE` (`ID_RUBRIQUE`), KEY `I_FK_CONTIEN_RUBRIQUE1` (`ID_RUBRIQUE_1`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
et donc voila ce que jessaye de faire :
Code:
1
2
3
4
5SELECT rubrique.ID_RUBRIQUE,contien.ID_RUBRIQUE_1, INTITULE, contien.PLACE,contien.NIVEAUX, ETAT FROM rubrique, contien WHERE rubrique.ID_RUBRIQUE = contien.ID_RUBRIQUE AND rubrique.ETAT >=1 ORDER BY contien.ID_RUBRIQUE_1,contien.NIVEAUX ASC
Cette requette fonctionne pour les rubrique de niveaux 1 et 2 si j'ai une rubrique de niveau 3 ben elle ne se positionne pas au dessous de ca categorie parente.
donc c pas bon.
Si quelqu'un a une idée meme s'il faut faire le traitement en php je suis preneur
Merci de votre compréhension
Cordialment