Supportnet / Forum / Skripte(PHP,ASP,Perl...)
Daten "vor einem Jahr" auslesen
Frage
Hallo,
wie kann ich aus einer sql-Datenbank alle Daten auslesen, die
a) das Datum von vor 100 Tagen tragen
b) das Datum vor genau einem Jahr tragen ?
[code]SELECT * FROM news WHERE dtime= xy ORDER BY dtime DESC [/code]
Also: was müßte man hier statt "xy" eintragen ?
(das Feld "dtime" ist vom Typ "datetime")
zu b): hier sollte das Schaltjahr-Problem berücksichtigt sein ( also nicht "-365 Tage", oder so ähnlich)
Für Tipps wäre ich dankbar !
Gruß
Mich
Antwort 1 von LittleT
du kannst doch ganz einfach mit datumswerten auch rechen.
schreib in eine Variable den heutigen tag, und dann kannst du zurückrechnen.
also irgendwie so: (pseudocode)
$heute = date("Ymd");
$suche = $heute -100;
select * from tab where date = $suche; //genau vor 100 tagen
select * from tab where date between $heute and $suche //Einträge im Zeitraum zwischen heute und vor 100 tagen
Ob dabei der 100ste tag jetzt auch dabei ist oder nicht weiß ich nicht mehr wie das bei between ist. evtl. www.php.net nachlesen
schreib in eine Variable den heutigen tag, und dann kannst du zurückrechnen.
also irgendwie so: (pseudocode)
$heute = date("Ymd");
$suche = $heute -100;
select * from tab where date = $suche; //genau vor 100 tagen
select * from tab where date between $heute and $suche //Einträge im Zeitraum zwischen heute und vor 100 tagen
Ob dabei der 100ste tag jetzt auch dabei ist oder nicht weiß ich nicht mehr wie das bei between ist. evtl. www.php.net nachlesen
Antwort 2 von Mich
Hallo LittleT,
vielen Dank!
Ich habe inzwischen (meine Frage ist ja schon ein paar Wochen alt) diese Lösung gefunden:
Gruß
Mich
vielen Dank!
Ich habe inzwischen (meine Frage ist ja schon ein paar Wochen alt) diese Lösung gefunden:
SELECT * FROM tab WHERE TO_DAYS(NOW()) - TO_DAYS(dtime) = 365Gruß
Mich

