Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:php:rekursives_sortieren_version2

rekursives sortieren Version 2

für die Erstellung eines Menüs mit UL LI

Um eine Ausgabe eines in einer Datenbank gespeicherten Menüs richtig aufzubereiten mus man rekursiv vorgehen.

Beispiel: Datenbank mit folgenden Feldern id- parent_id - text

Ausgabe mit <UL> <LI>

function build_list($arr) {
  $html = '<ul>';
  foreach ($arr as $id => $val) {
    $html .= '<li>' . htmlspecialchars($val['name']) . ' (' . $id . ')';
    if ($val['children']) {
      $html .= build_list($val['children']);
    }
    $html .= '</li>';
  }
  $html .= '</ul>';
  return $html;
}
 
 
// SQL Abfrage erstellen
$query = 'SELECT id, title, parent_id FROM #__quickfaq_categories';
 
// Datenbank Abfrage
$db    =& JFactory::getDBO();	
		  $db->setQuery($query);
$result = $db->loadObjectList();
 
foreach ($result as $row) {
  $sites[$row->id] = array(
        'parent_id' => $row->parent_id,
        'name'      => $row->title,
        'children'  => array() );
}
 
foreach ($sites as $site_id => $site) {
    $sites[$site['parent_id']]['children'][$site_id] =& $sites[$site_id];
}
 
$sites = $sites[0]['children'];
 
echo build_list($sites);
Diese Website verwendet nur für den Betrieb notwendige Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer sowie den Datenschutzbestimmungen zu. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
programmieren:php (136 views) · Zuletzt geändert: 25/12/2020 12:17 von conny