Suponiendo que la query te retorne los datos de esta manera, cosa que no muestras en la pregunta, podrías hacer algo así:
Código PHP:
Ver original//Datos de muestra de la QUERY
$entrada = [
['MODULO'=>'MODULO 1','nombre'=>'Carlos Quintero','id'=>'2054','valor'=>'10'],
['MODULO'=>'MODULO 1','nombre'=>'Ramon Zapata','id'=>'5454','valor'=>'80'],
['MODULO'=>'MODULO 2','nombre'=>'García Maria','id'=>'548754','valor'=>'45'],
['MODULO'=>'MODULO 2','nombre'=>'José Quijada','id'=>'986598','valor'=>'369'],
];
//Array de salida
$salida = [];
//Ordena los valores
foreach($entrada as $item){
}else{
$salida[$item['MODULO']] = [];
};
}
//Genera la lista de elementos
foreach($salida as $clave => $valor ){
echo "<li>".$clave."<ul>";
foreach($valor as $val){
echo "<li>".$val['nombre']." ".$val['id']." ".$val['valor']."</li>";
};
echo "</ul></li>";
}
Esto da como resultado algo así:
imagino hay una manera más optima, pero a esta hora es la que se me ocurre. Saludos