SQL-String mit Datumsdifferenz als Where-Kriterium
Andreas
- datenbank
Hallo,
habe folgender Datenbankzugriff im PHP-Script:
$request = mysql_query("
SELECT t.ID_TOPIC, t.ID_BOARD, m.subject, m.posterName, m.ID_MEMBER, m.posterTime
FROM {$db_prefix}topics as t, {$db_prefix}messages as m
WHERE (FIND_IN_SET($ID_MEMBER,t.notifies) != 0
AND m.ID_MSG=t.ID_FIRST_MSG) Order By t.ID_TOPIC DESC Limit $start, 15");
Das Datum m.posterTime liegt als Unix-Time vor, in folgender Art: 1073390789
Wie kann ich die Abfrage ändern, dass z.B. nur Beiträge der letzten 30 Tage dargestellt werden?
Habe dazu die Variable $anz, als Angabe für die letzten XX Tagen.
Gruß Andreas
Hallo Andreas,
Das Datum m.posterTime liegt als Unix-Time vor, in folgender Art: 1073390789
Wie kann ich die Abfrage ändern, dass z.B. nur Beiträge der letzten 30 Tage dargestellt werden?
Habe dazu die Variable $anz, als Angabe für die letzten XX Tagen.
UNIX-Timestamps zählen die Anzahl der Sekunden seit dem 1. Januar 1970, O:00:00 Uhr.
1 Minute hat 60 Sekunden
1 Stunde hat 60 Minuten
1 Tag hat 24 Stunden
Wieviele Sekunden sind in den letzten XX Tagen vergangen?
Anzahl Sekunden := XX * 24 * 60 * 60
Freundliche Grüsse,
Vinzenz
Hallo,
übrigens in SQL heißt "!=0" "<>0"
Grüße, Matthias
Hallo,
übrigens in SQL heißt "!=0" "<>0"
Und warum funktioniert es dann?
Code ist vom Script Progger YaBBSE, nicht von mit, also sollte es eigentlich auch gültig sein?!
Andreas
Trotzdem hallo,
ja anscheinend geht beides, jetzt frage ich mich nur nach dem Unterschied...
Grüße, Matthias
yo,
ja anscheinend geht beides, jetzt frage ich mich nur nach dem Unterschied...
ganz offensichtlich ist es das gleiche, wenn man mal von der schreibweise absieht, frei nach dem motto gleichheit, brüderlichkeit.....
Ilja
Hallo,
UNIX-Timestamps zählen die Anzahl der Sekunden seit dem 1. Januar 1970, O:00:00 Uhr.
Anzahl Sekunden := XX * 24 * 60 * 60
Das ist mir auch bekannt, nur wie binde ich das in die Abfrage mit ein? kann ich einfach ein <= machen oder muss ich das Datum umformen oder ??
Bitte ein bisschen mehr Hilfe.
Gruß Andreas
Hallo Andreas,
Hallo,
UNIX-Timestamps zählen die Anzahl der Sekunden seit dem 1. Januar 1970, O:00:00 Uhr.
Anzahl Sekunden := XX * 24 * 60 * 60
Das ist mir auch bekannt, nur wie binde ich das in die Abfrage mit ein? kann ich einfach ein <= machen oder muss ich das Datum umformen oder ??
Das MySQL-Handbuch gibt einiges an Informationen dazu her:
<zitat>
</zitat>
und schau Dir bitte den ersten Benutzerbeitrag auf http://dev.mysql.com/doc/mysql/de/Date_and_time_types.html an.
Bitte ein bisschen mehr Hilfe.
Handbuch lesen ist meist eine ausgezeichnete Hilfe :-)
Freundliche Grüsse,
Vinzenz