Quote Originariamente inviata da Santino83_02 Visualizza il messaggio
scusa ho sbagliato query, questa "risale" l'albero. Per farlo scendere è p.parent_id = my_users.id. Scusa ma copia e incolla + cambio nomi campi è una brutta bestia

quindi:

codice:
with recursive my_users as(  
select id,parent_id,0 as level from UTENTI where id=XXX
union all
select p.id, p.parent_id,my_users.level+1 as level from UTENTI p, my_users where p.parent_id= my_users.id)
select * from my_users order by level asc;
Ciao e grazie mille, purtroppo ho un po di problemi a capire e a far funzionare la query, ho cercato in rete ma il materiale sulle query ricorsive è davvero pochissimo, ho provato a crcare qualcosa anche su un testo mysql che ho, ma nulla! ho trovato solo una paio di post su stackoverflow ma sono anche più complicati!

ti posto la funzione col quale faccio delle prove:
codice:
function prova($userId)
{
    $connection = getConnection();

    $sql = "with recursive my_users as(  
            select id_user,padre,1 as level from utenti where id_user=1
            union all
            select p.id_user, p.padre,my_users.level+1 as level from utenti p, my_users where p.padre = my_users.id_user)
            select * from my_users order by level asc";
    
    $result = mysqli_query($connection, $sql);
    //print_r($result);
    $result = mysqli_fetch_assoc($result);
    
}

quando provo ad eseguirla mi da qusto errore:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\www\.......

Mentre se commento $result=mysqli_fetch_assoc($result); non ottengo nulla, pagina bianca!