J'ai la structure arborescente suivante en utilisant des ensembles imbriqués avec des valeurs rgt & lft.construire une navigation avec des ensembles imbriqués, à partir du nœud sélectionné
node
node
node
node
node (selected)
node
node
node
node
Je souhaite construire une navigation de sorte que l'arbre est étendu, pour le chemin d'accès du noeud sélectionné, et des noeuds non pertinents sont affaissées/caché.
En utilisant la méthode ci-dessus, l'arbre serait émis comme suit:
node
node
node
node (selected)
node
node
node
est-ce possible en utilisant php/mysql? Si des gourous SQL peuvent aider à construire une requête, je serais très reconnaissant.
Cela ne me dérange pas si je besoin d'une requête supplémentaire par niveau, son probablement va être 4 ou 5 niveaux de profondeur au plus ...
Vue d'ensemble de la table nœuds:
--
-- Table structure for table `exp_node_tree_1`
--
CREATE TABLE `exp_node_tree_1` (
`node_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`lft` mediumint(8) unsigned DEFAULT NULL,
`rgt` mediumint(8) unsigned DEFAULT NULL,
`moved` tinyint(1) NOT NULL,
`label` varchar(255) DEFAULT NULL,
`entry_id` int(10) DEFAULT NULL,
`template_path` varchar(255) DEFAULT NULL,
`custom_url` varchar(250) DEFAULT NULL,
`extra` varchar(255) DEFAULT NULL,
PRIMARY KEY (`node_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
--
-- Dumping data for table `exp_node_tree_1`
--
INSERT INTO `exp_node_tree_1` VALUES(1, 1, 12, 0, 'Home', 1, '0', '/', '');
INSERT INTO `exp_node_tree_1` VALUES(5, 10, 11, 0, 'About Us', 2, '4', '', '');
INSERT INTO `exp_node_tree_1` VALUES(6, 6, 9, 0, 'Team', 3, '5', '', '');
INSERT INTO `exp_node_tree_1` VALUES(7, 3, 4, 0, 'Contact Us', 4, '4', '', '');
INSERT INTO `exp_node_tree_1` VALUES(8, 7, 8, 0, 'Awards', 5, '5', '', '');
INSERT INTO `exp_node_tree_1` VALUES(10, 2, 5, 0, 'New Page', 6, '4', '', '');
Merci!
S'il vous plaît montrer le contenu du tableau SQL que vous avez, cela aiderait beaucoup. – Tomalak
Je viens de poster le vidage sql, merci –
Est-ce un must que vous devez utiliser un arbre?Je voudrais juste mettre un parent_id et renvoyer l'élément parent c'est plus simple et comme vous n'avez que 10-20 enregistrements dans le tableau entier, je ne vois aucun point d'une structure aussi complexe. –