Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie bekomme ich das hierarchische Menü von mysql

$stmt = "SELECT id, parent_id FROM table";
$items = Array();
$result = mysql_query($stmt);

while ($line = mysql_fetch_assoc($result)) {
    $items[] = $line;
}

$hierarchy = Array();

foreach($items as $item) {
    $parentID = empty($item['parent_id']) ? 0 : $item['parent_id'];

    if(!isset($hierarchy[$parentID])) {
        $hierarchy[$parentID] = Array();
    }

    $hierarchy[$parentID][] = $item;
}

Die Stammebene ist $hierarchy[0] . Schlüssel sind Artikel-IDs und Werte sind alle direkte Kinder.