raph37 Posté 17 Juin 2011 Posté 17 Juin 2011 Bonjour a tous ! J'aimerai savoir quel structure de table vous utilisez avec vos menus . pour le moment je tente ceci qui ne fonctionne pas vraiment car je n'arrive pas a lier correctement les ParentID avec les ID: CREATE TABLE `menu` ( `ID` int(11) NOT NULL auto_increment, `ParentID` int(11) default NULL, `Name` varchar(30) collate utf8_unicode_ci NOT NULL, `Link` varchar(128) collate utf8_unicode_ci default NULL, `Class` varchar(50) collate utf8_unicode_ci default NULL, `Title` varchar(256) collate utf8_unicode_ci default NULL, UNIQUE KEY `ID` (`ID`), KEY `ParentID` (`ParentID`)) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ; ou plus clairement : ----------------------------------------------------------- ID | ParentID | Name | Link | Class | Title |----------------------------------------------------------- 1 | 1 | Acueil | # | strong | | 2 | 2 | Outils | # | strong | | 3 | 3 |Matière | # | strong | | 4 | 2 |perceuse| # | medium | | 5 | 4 | foret | # | small | | 6 | 3 | tissu | # | small | | C'est a ce moment là que je galère , avec la requête SQL : "SELECT * FROM menu ORDER BY ParentID ASC, ID ASC" Ce qui me donnera : ----------------------------------------------------------- ID | ParentID | Name | Link | Class | Title |----------------------------------------------------------- 1 | 1 | Acueil | # | strong | | 2 | 2 | Outils | # | strong | | 4 | 2 |perceuse| # | medium | | 3 | 3 |Matière | # | strong | | 6 | 3 | tissu | # | small | | 5 | 4 | foret | # | small | | alors que je voudrai çà : ----------------------------------------------------------- ID | ParentID | Name | Link | Class | Title |----------------------------------------------------------- 1 | 1 | Acueil | # | strong | | 2 | 2 | Outils | # | strong | | 4 | 2 |perceuse| # | medium | | 5 | 4 | foret | # | small | | 3 | 3 |Matière | # | strong | | 6 | 3 | tissu | # | small | | Quelqu'un aurait-il une solution pour corriger mon problème ? Merci de votre aide
Sarc Posté 17 Juin 2011 Posté 17 Juin 2011 Bonjour, Pour le coup, vu qu'un traitement en PHP sera de toute façon nécessaire pour mettre en forme le tableau de sortie, je te conseille de prendre tous les liens sans forcément trier en SQL, et de retrier correctement en PHP. Avec une fonction récursive, ça se fera tout seul en quelques lignes, ça sera magique, et pas forcément plus long !
Portekoi Posté 17 Juin 2011 Posté 17 Juin 2011 Bonjour, Regarde mon script ici, tu as tout se qu'il faut dedans : />http://www.portekoi.com/menu/ ++ Portekoi
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant