Mysql
 sql >> Database >  >> RDS >> Mysql

php visualizza il menu treenode multilivello

È perché hai ancora le categorie nell'array quando le hai già assegnate. Quello che puoi fare è eseguire la funzione in cui passi l'argomento come riferimento e nel ciclo foreach per avere la possibilità di cancellare l'array da quella categoria già assegnata. Semplice implementazione di seguito.

function getChildren(&$rows, $p = 0) {
    $r = array();
    foreach($rows as $row_id => $row) {
        if ($row['parent_node']==$p) {
            $r[$row['product_category_code']] = getChildren($rows, $row['product_category_code']);
            unset($rows[$row_id]);
        }
    }
    return $r;
}