Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir une structure php hiérarchique à partir d'une table db, dans un tableau php ou JSON

Deux passes foreach font l'affaire. Cela reliera tous les enfants à leurs parents de manière récursive.

$structure = array();
foreach( $array as $row ) { //add rows to array by id
    $structure[ $row["id"] ] = $row + array( "children" => array() );
}
foreach( $structure as &$row ) { //link children to parents
    if( ! is_null( $row["parent"] ) ) {
        $structure[ $row["parent"] ]["children"][] =& $row;    
    }
}