sql >> Base de Datos >  >> RDS >> Mysql

cómo obtener el menú jerárquico de 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;
}

El nivel raíz será $hierarchy[0] . Las claves son identificadores de elementos y los valores son todos hijos directos.