2009-06-16 9 views
0

Je suis juste intrigué ici. Peut-être parce que c'est la fin de la journée, je ne sais pas. Im en utilisant PHP pour récupérer des éléments à partir d'un DB MySQL. Je cherche juste de l'aide PHP. J'ai le HTML et CSS fait. Voici la structure de base de la DB. C'est un ensemble imbriqué btw. Imaginez que mes valeurs gauche et droite pour l'ensemble imbriqué ont déjà été triées dans MySQL, ce qui me laisse une profondeur.Trier par résultat MySQL pour créer un menu déroulant à plusieurs niveaux

---------------------------------------- 
| id | title | sequence_number | depth | 
---------------------------------------- 
| 1 | A  | 1    | 1  | 
| 2 | B  | 2    | 1  | 
| 3 | C  | 1    | 2  | 
| 4 | D  | 3    | 1  | 
| 5 | E  | 4    | 1  | 
| 6 | F  | 2    | 2  | 
| 7 | A  | 1    | 3  | 
| 8 | B  | 5    | 1  | 
| 9 | C  | 3    | 2  | 
| 10 | D  | 2    | 3  | 
| 11 | E  | 6    | 1  | 
| 12 | F  | 4    | 2  | 
---------------------------------------- 

Maintenant, si cela ne suffit pas à vous troubler, continuez à lire. J'utilise une boucle foreach pour faire défiler chaque élément et le trier manuellement comme ça. Le problème est que le menu ira finalement à 3 niveaux ce qui me bloque car ma boucle n'est que de deux niveaux. Quelqu'un peut-il m'aider à trier ce tableau?

+0

Vous ne pouvez pas modifier la fonction pour autoriser 3 niveaux? Affichez votre fonction actuelle. –

Répondre

0

vous pouvez utiliser une fonction récursive

par exemple la boucle par la profondeur définie comme 1 puis re-appeler la fonction avec la profondeur définie comme la profondeur + 1

-ce que cela aide? Josh

Questions connexes