himsa
Threadersteller
Dabei seit: 17.08.2005
Ort: Düsseldorf
Alter: 39
Geschlecht:
|
Verfasst Di 23.08.2005 11:34
Titel MySQL Abfrage: Terminkalender |
|
|
Hallo zusammen!
Ich verzweifel hier an einer DB Query obwohl es eigentlcih einfach sein sollte...
Also folgendes Problem:
In einer Tabelle sind zwei Timestamps: datum_von und datum_bis
Per PHP habe ihc jetzt eine liste mit Monaten (beginnend ab dem aktuellen Monat - 12 Monate weiter)
Also Momentan August 2005 - Juli 2006
Ich klicke auf Monat X:
Es sollen alle Termine angezeigt werden die:
a) Im Monat X anfangen
b) Im Monat X aufhören
c) Während des Monats X laufen
Deshalb sollte ein Termin der von Juli - September geht in den Monaten Juli, August und September angezeigt werden.
Ebenso auch mit Jahresübergreifenden Terminen die z.B. von Februar 2005 - Dezember 2006 gehen...ich weiss allerdings nicht wie
Hier ist meine Query (die allerdings nicht richtig funktioniert):
Quellcode:
Code: |
SELECT * FROM termineon WHERE (MONTH(datum_bis) >= '$m' AND datum_bis >= '$datum' AND ((YEAR(datum_von)<='$y') OR (MONTH(datum_von)<= '$m' AND YEAR(datum_von)>='$y')) AND YEAR(datum_bis)>='$y') ORDER BY datum_von
|
$datum ist das aktuelle Datum
$m ist der Monat den man sich ansehen will
$y ist das Jahr in dem man sich den Monat ansieht
Durch: MONTH(datum_von)<='$m' werden z.B. im Februar 06 Termine die von 08-2005 bis 02-2006 gehen nicht angezeigt
Ohne die Abfrage werden jedoch z.B. bei August 05 auch Termine von 10-2005 angezeigt...
Danke für eure Hilfe im Voraus.
Gruß,
himsa
|
|