sql >> Databáze >  >> RDS >> Mysql

jak získat hierarchické menu z 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;
}

Kořenová úroveň bude $hierarchy[0] . Klíče jsou ID položek a hodnoty jsou všechny přímé potomky.



  1. Jaký význam má předpona N v příkazech T-SQL a kdy ji mám použít?

  2. Najděte všechny dotazy, které používají konkrétní tabulku

  3. Nelze aktualizovat řádek v Sqlite v Androidu, ale nevyhazuje žádnou chybu

  4. Vrácení „posledního“ řádku každého „seskupit podle“ v MySQL