Alle DS der letzten 3 Tage anzeigen
Daniel
- datenbank
0 Thomas Luethi0 daniel
Hallo alle zusammen,
habe ein kleines Problem mit einer mySQL-Abfrage, das mit nicht so recht in den Kopf will.
In einer Tabelle habe ich ein Datetime-Feld (adv_date), das mit entsprechenden Werten der Form YYYY-MM-DD HH:MM:SS befüllt ist.
Ich will jetzt alle Datensätze anzeigen, die nicht älter als 3 Tage sind, also alle DS der letzten 3 Tage anzeigen lassen. Kriegs aber ums ver* nicht hin... kann mir jemdand weiterhelfen.
Hier mal meine Abfrage, so wie ich sie mir dachte:
SELECT DATE_FORMATE(adv_date,'%Y-%m-%d') AS 'advdatecompare', adv_date, advID, userID, adv_headline FROM pw_adv WHERE 'advdatecompare' > DATE_FORMAT(CURDATE()-3,'%Y-%m-%d') ORDER BY adv_date DESC
vielen dank für eure Hilfe im voraus, Grüße, Daniel
Hallo,
Ich will jetzt alle Datensätze anzeigen, die nicht älter als 3 Tage sind, also alle DS der letzten 3 Tage anzeigen lassen.
RTFM! ;-)
In der MySQL-Doku
http://www.mysql.com/doc/de/Date_and_time_functions.html
ist da ganz oben so ein Beispiel...
Fuer Dich angepasst wuerde das heissen:
SELECT etwas FROM tabelle
WHERE TO_DAYS(NOW()) - TO_DAYS(adv_date) <= 3;
HTH, mfg
Thomas
hmm....
da hab ich wohl was überlesen ;-))
danke auf jeden fall - klappt tadellos und ist wesentlich eleganter als meine komische lösung...
grüße,
daniel
Hallo Daniel,
da hab ich wohl was überlesen ;-))
Der Smilie hinter dem RTFM sollte zeigen, dass ich Dir keinen
Vorwurf mache. Als Anfaenger findet man in den Manuals die
Antworten oft nicht. Erst, wenn man weiss, dass etwas moeglich ist,
findet man es auch...
danke auf jeden fall - klappt tadellos und ist wesentlich eleganter als meine komische lösung...
Noch so als grundsaetzlicher Tip:
Sehr vieles, was man mit komplizierten "Loesungen" selbst
programmieren will, wurde schon erfunden und ist schon
implementiert - das gilt fuer MySQL genauso wie fuer PHP.
Weiterhin viel Spass und freundliche Gruesse
Thomas