Einträge der letzten drei Tage ausgeben - MySQL
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktuelle datum
ausgeben
ausgegeben bekommen
code
date
datenbank
datum
einzelnen sekunden
erzeugen
genau uhrzeit
http
jemand
jetzigen uhrzeit
letzte ausgegebene tag
letzten drei
tag
typische ansatz
url
zeile
zweck
-
Guten Abend,
ich möchte aus einer MySQL-tag/date">Datenbank alle Einträge von Heute und den letzten drei Tagen ausgegeben bekommen.
Also [...] WHERE date = [die letzten drei Tage] [...]
Ich habe mir auch schon die Datumsfunktionen von MySQL (http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html) angekuckt, bin allerdings noch zu keiner Lösung gekommen.
Weiß jemand wie's geht?
Grüßle Fabi -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
erst das aktuelle Datum erzeugen lassen
dann ein Datum von vor drei Tagen erzeugen lassen
dann WHERE date BETWEEN vordreitagen AND heute -
SELECT * FROM `tabelle` WHERE DATEDIFF(NOW(),`date`) <= 3 ;
Oder...
$jetzt = time(); $datum = $jetzt - (60*60*24*3) ; $sql="SELECT * FROM database WHERE date < '".$datum."'"; $result = mysql_query($sql);
Beitrag zuletzt geändert: 21.10.2010 23:07:17 von fabo -
muss das nicht > sein ?
also:
$jetzt = time(); $datum = $jetzt - (60*60*24*3) ; $sql="SELECT * FROM database WHERE date > '".$datum."'"; $result = mysql_query($sql);
und wenn es im datetime-Format ist, muss der Timestamp vorher noch umgewandelt werden
EDIT: und es würde keine Zeilen ausgeben, dessen Datum vor drei Tagen ist, aber sie vor der jetzigen Uhrzeit sind.
ob es so vielleicht besser, als der erste Code ist, kommt auf den Zweck an:
im ersten wird um 0:00 der letzte ausgegebene Tag gelöscht
im zweiten wird kein kompletter Tag gelöscht (nicht mehr angezeigt beim aktualisieren), sondern die einzelnen Sekunden
Beitrag zuletzt geändert: 21.10.2010 23:13:12 von ole-reglitzki -
Der typische Ansatz ist:
SELECT ... FROM ... WHERE `date` >= DATE_SUB(NOW(), INTERVAL 3 DAYS)
Wenn du die genau Uhrzeit nicht beachten willst und nur anhand der Tage vergleichen willst:
SELECT ... FROM ... WHERE `date` >= DATE_SUB(CURDATE(), INTERVAL 3 DAYS)
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage