Ciao a tutti!
Eccomi di nuovo a chiedere aiuto..
Sto costruendo una funzione che va a prendere i dati da una tabella di categorie così strutturata:

ric_cat_id.sup_cat_id.nome
1.................0..........cat1
2.................1..........cat2
3.................1..........cat3

l'ordine uscente dovrebbe essere questo:
livello1->cat1
livello2->cat2..cat3

la funzione è:
Codice PHP:
function menu($cat_id 0$menu = array())
    {
        
    
$construct_query fun_db_query ("select ric_cat_id, sup_cat_id, name 
                                     from " 
TABLE_RICETTE_CAT 
                                     where ric_cat_id = '" 
$cat_id "' 
                                     order by v_order"
);
    while (
$construct fun_db_fetch_array ($construct_query))
        {    
        
$construct_query2 fun_db_query ("select ric_cat_id, sup_cat_id, name 
                                          from " 
TABLE_RICETTE_CAT 
                                          where sup_cat_id = '" 
$construct['sup_cat_id'] . "' 
                                          order by v_order"
);
        while (
$construct2 fun_db_fetch_array ($construct_query2))
            {
            
$sup_cat $construct2['sup_cat_id'];
            
$menu_new[$sup_cat] .= $construct2['ric_cat_id'];
            }
            
$menu array_merge((array)$menu_new, (array)$menu);
            
menu($sup_cat$menu);
        }
    return 
$menu;
    
    } 
con print_r all'interno della funzione l'output è il seguente:
Array ( [0] => 23 ) (primo giro)
Array ( [0] => 1 [1] => 23 ) (secondo giro, aggiunge categoria superiore e si ferma)

quindi sembra che la costruisca correttamente MA con questo richiamo:


Codice PHP:
//visualizzo il menu delle ricette
(isset($_GET['cat_id']) && fun_not_null($_GET['cat_id']) && is_numeric($_GET['cat_id'])) ? $cat_id $_GET['cat_id'] : $cat_id '0';
                    
$menu = array(menu($cat_id));
              
 
print_r($menu); 
l'output è il seguente:
Array ( [0] => Array ( [0] => 23 ) )

qualcuno mi sa aiutare a capire cosa succede? ci sbatto la testa da ieri , ho l'impressione che sia una cosa semplicissima ma non capisco dove sbaglio.

GRAZIE!!!