ik zoek een oplossing voor het volgende..
uit de database zal de eerst volgende verjaardag moeten worden gehaald.
$result = mysql_query ("SELECT DATE_FORMAT(datum, '%d-%m-') AS datum FROM verjaardag ORDER BY datum ASC LIMIT 0 ,1") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "" . $row[0];
}
?><?php echo date("Y");?>
echter zal er een controlle moeten komen die kijkt of die datum niet al is geweest. de datum is opgeslagen als gebortedatum: YYYY-MM-DD heeft iemand hier een oplossing voor?, kon niks vinden via google.
Het lijkt mij de bedoeling om dan met alle hints en uitleg in deze post wederom de combinatie met DATE_FORMAT te maken:
SELECT DATE_FORMAT(datum, '%d-%m') AS verjaardag,
IF(DAYOFYEAR(datum) >= DAYOFYEAR(NOW()),
DAYOFYEAR(datum) - DAYOFYEAR(NOW()),
DAYOFYEAR(datum) - DAYOFYEAR(NOW()) +
DAYOFYEAR(CONCAT(YEAR(NOW()),'-12-31'))) AS dagenTotVerjaardag
FROM verjaardag
ORDER BY dagenTotVerjaardag ASC;
Edit: en om dan alle twijfel weg te nemen over oud en nieuw hier nog een overzichtje met output op een testtabelletje
verjaardag dagenTotVerjaardag
03-05 61
04-06 93
08-06 97
10-12 282
12-12 285
05-02 339