Hi,
erzeuge einfach in deiner Datenbank eine Tabelle "Dates". Folgendes Schema:
key dateasdatetime year month quarter day
key kann dabei ein vor- und rückkonvertierbarer (zu datetime) integerwert sein. Unter MSSQL funktioniert auf Tages-Level z.b. folgendes gut: CAST(myDateTime as int) und für die meisten zwecke ausreichend. Kannst aber natürlich auch das Datetime selbst als Primary Key nehmen.
Die Tabelle füllst du einmal aus PHP heraus für ausreichend daten auf der gewünschten Granularität (day, stunde ....) ab.
Dann kannst du dich immer in Joins darauf beziehen und andere Resultsets interpolieren (z.b. LEFT OUTER JOIN).
HTH, Ciao, Frank