Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

como obter o menu hierárquico do 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;
}

O nível raiz será $hierarchy[0] . Chaves são ids de itens e valores são todos filhos diretos.