PHP / MySQL construire l'arbre de menu
Je suis en train de construire une liste non-commandées menu de la liste de l'arbre à partir de ma base de données en PHP et MySQL.
J'ai un tableau d'objets de la page, je suis de retour à partir de la db. Chaque page de l'objet a parent_id attribut, qui est défini comme null si il n'a pas un parent. Voici ce que la page des objets comme:
page object
id
title
parent_id
Si possible j'aimerais ne pas le faire de manière récursive et ne touche que la base de données une fois que, depuis que je vais à la construction du menu sur presque toutes les demandes. Je veux créer une fonction que je peux juste passer mon tableau d'objets et il sera de retour la liste html.
OriginalL'auteur imns | 2010-12-10
Vous devez vous connecter pour publier un commentaire.
J'ai fini par aller avec cette solution (pastebin de référence):
De Données, Par Exemple:
Utilisation:
Bienvenue sur les interwebs
OriginalL'auteur imns
Au lieu de l'interrogation de la base de données de manière récursive, vous pouvez simplement tirer toutes les entrées et la sortie de la fonction récursive. C'est souvent aussi trivial que:
Il est seulement important de nid
<ul>
s en<li>
. Ou tout simplement utiliser de l'HTML et de sortir de la clôture</li>
.En fait ce qui s'imprime trop de
<ul>
s, et je voudrais donc vérifier l'existence de sous-niveaux et éviter d'imprimer directement.OriginalL'auteur mario