我有一个名为reservations的表,其中包含列start_date和end_date。
如果date_diff(start_date和end_date)为30,那么我需要在end_date之前的8,2和1天发送电子邮件。与以下相同..
60 - 15,4& 1 120以上 - 30,8,2& 1 ... 任何想法怎么做??
答案 0 :(得分:0)
设置cronjob来做这种事情。
答案 1 :(得分:0)
为您的查询编写3个单独的sql语句,以使其正常工作。
然后将这些放入php中设置变量的mysql_query中,如果行计数> 0
将变量上的isset用于电子邮件smtp脚本
每天早上设立一个cron工作来检查。
答案 2 :(得分:0)
SELECT *,DATEDIFF(CURDATE(),end_date)作为DIFF FROM TABLE WHERE DATEDIFF(CURDATE(),end_date)in(1,2,8)
答案 3 :(得分:0)
你可以做的是创建2个表,1个用于主要预订信息,第2个用于存储发送日期(或发送提醒日期)。
当保存记录时,您将检索当前日期和end_date之间的差异;如果差异为30,那么你必须在end_date之前8,2和1天存储send_dates;与你拥有的其他条件相同。
然后创建一个cron作业(将每天运行)以检查send_dates =当前日期的第二个表。如果符合条件,请发送电子邮件。
希望这是你需要的那个