sql >> Database >  >> RDS >> Mysql

php-menu met boomknooppunten op meerdere niveaus weergeven

Dat komt omdat je de categorieën nog steeds in de array hebt als je ze al hebt toegewezen. Wat u kunt doen, is de functie uitvoeren waarbij u het argument als referentie doorgeeft, en de in de foreach-lus om de array uit die reeds toegewezen categorie te wissen. Eenvoudige implementatie hieronder.

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;
}



  1. Error:Fill:SelectCommand.Connection eigenschap is niet geïnitialiseerd.

  2. MySQL:optellen en vermenigvuldigen op verschillende tabellen

  3. De `yield_per()`-problemen van SQLalchemy beter begrijpen

  4. Boom sorteren met een gematerialiseerd pad?