如何找到今天使用PHP和MYSQL庆祝的朋友的生日

时间:2009-09-29 03:50:47

标签: php mysql

如何找到今天使用PHP和MYSQL庆祝的朋友的生日

提前感谢...

FERO

4 个答案:

答案 0 :(得分:8)

这个处理2月29日 - 将3月1日视为非闰年的庆祝日。

SELECT u.name
FROM users u INNER JOIN friendships f ON (f.user_id = u.id)
WHERE f.friend_id = 6 -- whatever your id is
    AND (
        MONTH(u.birthdate) = MONTH(NOW())
        AND DAY(u.birthdate) = DAY(NOW())
    ) OR (
        MONTH(c.birthdate) = 2 AND DAY(c.birthdate) = 29
        AND MONTH(NOW()) = 3 AND DAY(NOW()) = 1
        AND (YEAR(NOW()) % 4 = 0)
        AND ((YEAR(NOW()) % 100 != 0) OR (YEAR(NOW()) % 400 = 0))
    )

没看到你的表结构,我只是猜测你如何处理友情链接

答案 1 :(得分:0)

您可以将cURL调用集成到应用程序中的http://www.birthdatabase.com,并阅读HTML结果。

编辑 - 我可能误解了您的问题。如果您试图从另一个数据库(而不是您自己的数据库)中提取生日,这可能是您的解决方案。

答案 2 :(得分:0)

为月份和日期创建单独的字段,以便更快地进行选择。

答案 3 :(得分:-3)

全部谢谢

我得到了答案......

SELECT * FROM `users` WHERE MONTH(`birthdate`) = MONTH(NOW()) AND
     DAYOFMONTH(`birthdate`) = DAYOFMONTH(NOW());

通过使用此查询,我们可以获得我们想要的数据

FERO