Bonjour,
Je suis assez débutant en sql, donc la question vous paraitra peut être idiote, mais on m'a souvent dit que le ridicule ne tue pas, donc je me lance !
Je suis sous MySQL :
Voila, j'ai une table category :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 CREATE TABLE `category` ( `id_category` int unsigned NOT NULL auto_increment, `name_category` varchar(50) NOT NULL, `level_category` int NOT NULL default '0', `parent_category` int NOT NULL default '0', PRIMARY KEY (`id_category`) )
Prenons pour exemple ces données :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 INSERT INTO `category` (`id_category`, `name_category`, `level_category`, `parent_category`) VALUES (1, 'cheveux', 0, 0), (2, 'visage', 0, 0), (3, 'shampoing', 1, 1), (4, 'gel', 1, 1), (5, 'pour cheveux secs', 2, 3), (6, 'pour cheveux gras', 2, 3);
Je pense maintenant que le fonctionnement logique de cette table est plus clair.
Bien entendu, pour faire simple, le nombre de niveaux possible est variable. J'aimerais donc le résultat dans l'ordre suivant :
En espérant avoir été assez clair.1 - 'cheveux' - 0 - 0
3 - 'shampoing' - 1 - 1
5 - 'pour cheveux secs' - 2 - 3
6 - 'pour cheveux gras' - 2 - 3
2 - 'visage' - 0 - 0
4 - 'gel' - 1 - 1
Merci beaucoup.
Partager