Array
(
)

Foreach ou While em PHP para exibir resultado do MySQL estruturado

Degui
   - 22 dez 2015

Clique na imagem para abrir em uma nova janela
Tenho uma busca que retorna os valores conforme a imagem
Quero exibir estruturado... Uso uns dois IFs dentro de um foreach / While - depois de converter isso em array - e até consigo o que quero, o que pra uma consulta com poucos resultados talvez esteja bom.
A questão é que acredito que se retornar muito resultado, muitos "voltas" do foreach/While serão em vão e vai gerar muita "pergunta" com os IFs
Qual a melhor maneira - com PHP - de mostrar esse valores com essa estrutura

Etapa: 1
- Semana: 23 - Total de aulas: 6
-> 47174
-> 47175
-> 47176
-> 47177
-> 47178
-> 47191

Etapa: 2
- Semana: 24 - Total de aulas: 4
-> 49368
-> 49369
-> 49370
-> 49371
- Semana: 25 - Total de aulas: 1
-> 49372
- Semana: 26 - Total de aulas: 4
-> 49376
-> 49377
-> 49378
-> 49679