Geburtstage diesen Monat auslesen

PhoenixDH

Erfahrenes Mitglied
Ich will aus meiner SQL Tabelle die Leute aus dem Forum auslesen die diesen Monat noch Geburtstag haben, leider schaffe ich das nicht ganz, es klappt nur für alle die diesen Monat haben. Es sollen aber nur die ausgegeben werden die noch haben !

In der SQL Tabelle werden die Geburtsdaten folgendermaßen abgespeichert: JAHR-MONAT-TAG, z.B. 1985-01-12 !

Meine bisherige Abfrage lautet so:
Code:
$r_monat = mysql_query("SELECT * FROM ".$pref."user WHERE userbday LIKE '%-$currentmonth-%);

Nach meiner Einschätzung müsste der WHERE Teil durch eine weitere AND erweitert werden, aber genau das ist mein Problem, cih weiß nicht wie das zu formulieren ist !

Theorie ist klar, AND UserGebTAG > $currentday !

Könnt ihr mir helfen ?
 
Am besten definiere das Feld als DATE.
Dann kannst Du mit
Code:
...WHERE MONTH(NOW())=MONTH(userbday) AND DAYOFMONTH(NOW())<=DAYOFMONTH(userbday)
die Abfrage Selektieren.
Es gibt noch viel mehr MySQL-Funktionen zur Datums- und Zeitberechnung.
Das sollte Dir ermöglichen auch Abfragen, wie zum Beispiel "Geburtstage der nächsten 30 Tage" zu schreiben.

Gruß hpvw

PS: Wer jetzt etwas gegen das Verwenden von DATE als Typ zur Datumsspeicherung in MySQL sagen möchte, möge bitte vorher diesen Thread lesen.
 
Zurück