En SQL (de Mysql) tienes funciones de tratamiento de fechas como "ADD_DATE()" con su opción "INTERVAL" para definir por ejemplo esos mismo .. crear fechas en rangos específicos .. y a su vez tomar la fecha de hoy por ejemplo con CURDATE() (si usas campos de fecha tipo DATE())
http://dev.mysql.com/doc/mysql/en/da...functions.html
Te recomendaría estudiar la solución "SQL" en lugar de PHP (que se podría hacer vía PHP sólo). Si quieres ver como en PHP generar fechas .. visita:
date()
www.php.net/date
mktime()
www.php.net/mktime
Un saludo,