Christian Kruse: Nochmal: mit Datum rechnen

Beitrag lesen

Hi,

$zeitraum = mktime (0,0,0,date("Y"), date("m"), date("d")-14);

Du weißt schon, daß mktime() einen Unix-Timestamp zurück gibt? Sprich, die Anzahl der Sekunden
seit dem 1. 1. 1970 0:00 Uhr.

und die Query, die alle Datensätze ausliest, deren Feld 'datum' ein Datum das >= (Heute -14 Tage)
enthält, so:

[...] = mysql_query("SELECT blablabla FROM tabelle WHERE datum > $zeitraum [...]");

Leider sieht die DB das anders. Ich bekomme immmer ALLE Datensätze. :-(

Ich weiß nicht, welchen Datentyp dein MySQL-Feld hat, aber sollte es DATETIME oder TIMESTAMP
oder so sein, machst du das am besten so:

mysql_query("SELECT * FROM tabelle WHERE UNIX_TIMESTAMP(feld) > $zeitraum");

Oder du speicherst eben direkt den Timestamp ab; aber Achtung: ein normales Integer-Feld könnte zu
klein dafür sein (ich hab gerade nicht im Kopf, wie die Int-Range bei MySQL ist) und es könnte einen
Überlauf geben.

mfg
CK1

<img src="http://wwwtech.de/images/banner.jpg" alt="">
http://wwwtech.de
http://wwwtech.de/moorhuhn/