ciao!

guarda alla fine ho risolto in altra maniera.
faccio un controllo quando arrivo all'ultima categoria.
una cosa del genere:
codice:
SE COUNT_CATEGORIE = 3
    varie operazioni
    SE NON E' ULTIMA CATEGORIA
         stampa il break
avendo un array, all'inizio mi trovo l'ultimo valore con la funzione end.
avendo calori unici (controllo l'id della tabella) ad ogni ciclo controllo che il valore corrente sia diverso da quello finale.
ho fatto varie prove e sembra funzionare bene!