4 Stimmen

PHP: Schleife durch mehrdimensionales Array und Herstellung von Eltern-Kind-Beziehungen zwischen Array-Elementen

Ich entwickle ein Content Management System und bin auf ein Problem mit Kind-Eltern-Beziehungen von Elementen im CMS gestoßen.

Grundsätzlich habe ich ein System, das Seiten erstellen kann, und wenn eine Seite erstellt wird, können Sie eine übergeordnete Seite für die Unternavigation auswählen. Dies ist alles schön und gut, bis ich versuche, die Navigation aus der DB zu generieren.

Ich bin nicht sicher, ob eine Art von Join besser wäre, aber ich ziehe es vor, alle Daten in einem Array zu erhalten und das Array mit PHP zu manipulieren.

Meine Reihe von Ergebnissen aus der DB sieht folgendermaßen aus:

Array
(
    [0] => Array
    (
        [id] => 27
        [name] => home
        [link] => home.html
        [parent] => 0
    )

    [1] => Array
    (
        [id] => 30
        [name] => about
        [link] => about.html
        [parent] => 27
    )
)

Ich brauche eine Schleife durch ein Array wie dieses, die eine beliebige Anzahl von Navigation und intelligent sortieren es in seine Eltern-Kind-Beziehungen haben kann. Ich war in der Lage, es zu tun, aber nur eine Ebene tief. Es muss Kinder mit Kindern mit Kindern usw. mit einer unendlichen Anzahl von Ebenen zu verwalten und es in HTML ungeordnete verschachtelte Listen ausgeben.

<ul>
  <li>
  <a>Nav</a>
     <ul>
        <li>
           <a>Subnav</a>
             <ul>
                 <li>
                    <a>Sub Sub nav</a>
                 </li>
             </ul>
        </li>
     </ul>
  <li>
<ul>

Usw. ...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X