PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abfrage, Datum


Zudecke
18.10.2005, 12:40:31
Hi,

ich hab hier ne Abfrage, die alle Veranstaltungen auflistet, dessen Beginne über dem aktuellen Datum liegen:

$where.=" AND termin >= CURRENT_DATE()";

Alles schön und gut, aber wenn die Veranstaltung 3 Tage lang oder so dauert, wird sie am zweiten Tag schon nicht mehr mit aufgelistet, obwohl sie noch läuft. Es gibt noch ein Feld "dauer" in der Tabelle. Wie kann man die Abfrage gestalten, dass alle Veranstaltungen gezeigt werden, die über dem aktuellem Datum plus der Dauer liegen. Vielleicht irgendwie so?:

$where.=" AND termin >= CURRENT_DATE()-dauer";

Geht halt nicht. Kann man das überhaupt irgendwie so machen?

R. Woitaschik
18.10.2005, 12:58:31
Hi Zudecke,

versuch es mal mit der MySQL - Funktion DATE_SUB()

z.B. DATE_SUB(CURRENT_DATE(), INTERVAL dauer DAY)

xabbuh
18.10.2005, 13:10:11
Welchen Spaltentyp hat termin denn eigentlich?

Zudecke
18.10.2005, 13:13:53
"termin" hat den Spaltentyp "date"


DATE_SUB funktioniert hervorragend :-) . Danke

Stevie B.
18.10.2005, 13:16:41
Ich würde Termine mit von bis eintragen lassen. Also einmal Beginn der Veranstaltung und einmal Ende der Veranstaltung. Bleibt das Feld event_ende leer ist event_ende = event_anfang.
Dann kannst Du ganz leicht nach dem Ende der Veranstaltung abfragen:
"SELECT * FROM $table WHERE event_ende >= CURRENT_DATE()"