datumsabfrage auf timestamp in mySQL-DB...

| Kab00m |

Erfahrenes Mitglied
... oder so ...
Also, mein problem ist, das ich in einer Datenbank Newsbeiträge gespeichert hab, das Datum als timestamp gespeichert habe. Wie kann ich jetzt eine suche realisieren, die nach einem monat bzw jahr und monat sucht ?

Beispiel: Der user wählt in der suchmaske Monat: Januar, Jahr: 2002.
Wie muss jetzt der query aussehen um alle einträge herauszufiltern, die im Januar 2002 geschrieben worden sind ?
( Natürlich möglichst effizient ^^)

thx im vorhinein, ich hab euch alle lieb :D
 
mm
ich würd den timespam vom 1. Januar 2002 ermitteln (timespam_start) und einen Tag abziehen. damit in der SELECT-Anweisung auch der 1. Januar mit in die Suche eingebunden wird. Dann würd ich den timespam vom 1. Feburar 2002 ermitteln (timespam_end). Wie die Select-Anweisung aussieht, kannst Du dir ja vorstellen :)

SELECT ... WHERE timespam>timespam_start AND timespam<timespam_end ...

Eigentlich nicht viel code ... paar zeilen :)

Rob
 
KMX-Robin hat´s ja schon richtig erläutert. Die Funktion, die dir dabei behilflich sein wird, ist mktime( int stunde, int minute, int sekunde, int monat, int tag, int jahr).
Sieht dann z.B. so aus:
PHP:
<?
// Von der Form werden die Variablen $monat und $jahr übergeben, beides Integer
$von = mktime(0, 0, 0, $monat, 1, $jahr);
$tag = 31;
while (!checkdate($monat,$tag,$jahr)) $tag--;
$bis = mktime(23, 59, 59, $monat, $tag, $jahr);
?>

@KMX-Robin: Es heißt übrigens timestamp, nicht timespam ;)
 
Zurück