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 Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
programmieren:php (39 views) · Zuletzt geändert: 25/12/2020 12:17 von conny