Ciao Andrea,
se ho capito bene quello che ti serve devi modificare il punto in cui hai scritto:
codice:
$previousValue = ($i > 1) ? $row['scadenza' . ($i - 1)] : null;
Qui stai controllando (come dici anche nei commenti) la cella precedente, mentre se ho capito bene a te serve controllare se lo zero si trova nella cella successiva a quella da segnare in rosso. Quindi dovresti modificare con qualcosa del genere:
codice:
$previousValue = ($i > 1 && $i <= 3) ? $row['scadenza' . ($i + 1)] : null;
Così poi controlli il numero della cella successiva. Ho aggiunto anche $i <= 3 per evitare di andare a controllare la cella con $i == 5 che non esisterebbe.