Oltre all'id dovresti dare anche un numero d'ordine agli esercizi, così ti risulterebbe più semplice.
Avendo il numero d'ordine potresti fare
codice:
- prendi tutti gli esercizi della lezione ordinati in base al numero d'ordine e li tieni in un array
- prendi tutti gli esercizi svolti della lezione con stato C ed ordinati in base al numero d'ordine e li tieni in un altro array
- ciclo foreach sul primo array, per ogni elemento verifichi se questo è presente nel secondo e tieni traccia del numero d'ordine aggiornandolo alla fine di ogni ciclo
--- se è presente lo rendi clickabile
--- altrimenti
------ se il suo numero d'ordine è il prossimo rispetto a quello che hai salvato nel ciclo precedente (se lo indichi con dei numeri ti basta vedere se "$numero_ordine_esercizio_corrente == $numero_salvato + 1") allora lo rendi clickabile
------ altrimenti lo stampi come semplice testo