allora qualcosa di grossolano mi sfugge :
$sql = "SELECT T1.ut_ragsoc as ragsoc,T1.ut_id as id,T1.ut_mail as mail\n"
. "FROM ut_bro T0 \n"
. "LEFT JOIN utenti T1 ON T0.bro_id=T1.ut_id\n"
. "where T0.bro_padre=20\n"
. "order by T1.ut_id ";
$result = $pdo->query($sql); // trova 100 101 102
}
catch (PDOException $e)
{
/* GESTIRE IN MANIERA CORRETTA ERRORE E APRIRE FINESTRA */
$error = 'Error fetching utenti: ' . $e->getMessage();
echo $error;
exit();
}
if (!empty($result)) {
while ($row = $result->fetch())
{
$utenti[] = array(
'id'=> $row['id'],
'ragsoc'=> $row['ragsoc'],
'mail'=> $row['mail']);
}


foreach ($utenti as $utenti):
codice
endforeach

questo ciclo funziona correttamente?

se si perchè gli altri no?

$livello1 è un array come $utenti....cosa cambia?
veramente non capisco e non vedo errore...