TS: PHP/MySql - Vormonatstage

Beitrag lesen

Hallo und guten Tag,

Meine Abfrage ist aktuell diese: SELECT DISTINCT UNIX_TIMESTAMP(d_datum) ut_date FROM dates WHERE DATE_FORMAT(d_datum, '%Y%m') = date('Ym', $aktuellesDatum)

Sollte ich einfach die sechs vorherigen und nachfolgenden Tage mit auslesen und dann bei der Darstellung des Kalenders darauf achten, dass nur die Fülltage mit ausgegeben werden? Oder gibt es einen sinnvollen Ansatz schon bei der Datenbankabfrage nur die Fülltage abzufragen, die ich auch benötige?

  1. Du könntest den Wochentag vorher (numerisch) bestimmen und dann in die Between-Abrage mit einbauen.

  2. Du könntest die Grenzen auch vorher in der API durchführen

  3. Es ist bei Kalendern oft günstiger, nicht mit dem Datum, sondern mit dem Tag des Jahres zu arbeiten, oder sogar - wegen der Sommerzeit - mit der Stunde des Jahres. Die Rückrechnung in das Datum kann man dann der Darstellungsfunktion überlassen

  4. Da das Jahr eine überschaubare Zahl von Tagen hat, könntest Du dir auch eine Tabelle (in PHP) für das Jahr bereithalten, aus der Du dann genau den Offset für die Abfrage ablesen kannt.

Ich würde aber auf jeden Fall das Rechnen aus dem eigentlichen Filter def DB-Abfrage heraushalten

Grüße
TS

--
es wachse der Freifunk
http://freifunk-oberharz.de