hai diverse opzioni. In MySQL fai una stored procedure che si occupi di tale shifting, in PHP crei una pagina apposita di aggiornamento e la lanci a mano (oppure aggiungi un controllo sulla data ed in caso sia settembre, esegui lo script) nel giorno stabilito. Propendo per la seconda: mi viene da pensare comunque che un qualche intervento manuale ci debba essere (nuovi studenti nelle prime, arrivi da altre scuole, bocciati (esistono ancora?)...) per cui ci sarà già sicuramente una pagina di gestione... in questa ipotesi, metti la pagina di "shifting" nella pagina di gestione.