Ciao, ti procuri il timestamp della data di inizio (es. $timest_init = gmmktime(0,0,0,09,25,2006) ) e di quella di fine.
Se il controllo è settimanalmente aggiungi al timestamp di inizio il valore ( 60 * 60 * 24 * 7 ), equivalente ad una settimana in secondi, fino a che tale valore è inferiore al timestamp di fine.
Nel caso l'avanzamento sia di un mese la situazione è un po + complessa in quanto ad esempio il giorno 31 non c'è sempre
Inoltre non funziona come hai scritto: ..."martedì 26 sett, martedì 26 ottobre, martedì 26 novembre e martedì 26 dicembre..." perchè il 26 non sarà sempre di martedì
.
Supponendo che tu voglia avanzare di un mese esatto ti conviene prendere il numero del mese di partenza e sommare uno. Crei il timestamp con il nuovo mese e controlli i dati.
Ad esempio per controllare 3 mesi (compreso quello di partenza):
Codice PHP:
$mese = $start_mese;
for($x = 0; $x <= 2 $x++)
{ $mese += $x;
$timest_controllo = gmmktime(0,0,0,$mese,$giorno,$anno);
controlla($timest_controllo);
}
Non preoccuparti se il mese di partenza è dicembre...mi sembra che per php il mese 13 sia gennaio dell'anno dopo
In questo caso devi solo stare attento ai mesi che hanno 31gg e quelli da 30gg ( e febbraio
).
ciaooooo