
Dieser Tipp zeigt wie hierarchische Datensätze mit einer SQL-Abfrage selektiert und mit einer rekursiven Funktion geordnet ausgegeben werden können.
- vater
- sohn
- enkel
- urenkel
- urenkel
- enkel
- sohn
- sohn
- mutter
- tochter
- tochter
- tochter
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <?php // Datenbankverbindung aufbauen mysql_connect('localhost','root'); // Datenbank selektieren mysql_select_db('test'); // Query gegen die Datenbank feuern $resource = mysql_query('select * from kategorie'); /* Das Ergebnis der Query in das $kategorie Array schreiben. Die Datensatz ID wird als Array Key genutzt.*/ $kategorie = array(); while($row = mysql_fetch_assoc($resource)){ $kategorie[$row['id']] = $row; } // Die Funktion zum erzeugen der Baumstruktur aufrufen. gib_baumstruktur($kategorie); // Die Funktion gib_baumstruktur ruft sich rekursiv auf und gibt die Baumstruktur als ul Liste aus.*/ function gib_baumstruktur($kategorie,$parent_id=null){ echo '<ul>'; foreach($kategorie as $key=>$value){ if($value['parent_id']===$parent_id){ echo '<li>', $value['name']; gib_baumstruktur($kategorie,$value['id']); echo '</li>'; } } echo '</ul>'; } ?> |
Tags: baumstruktur, child, enkel, hierarchisch, navigation, parent, parent_id, rekursiv, sohn, sql, vater, versionierung