如何针对不同情况发送邮件提醒?
我有一个名为“预订”的表,其中包含“开始日期”和“结束日期”列。
如果 date_diff(start_date 和 end_date) 是 30,那么我需要在 end_date 之前的 8,2 和 1 天发送电子邮件。与以下相同..
60 – 15,4 & 1 120 及以上 – 30、8、2 和1... 知道怎么做吗?
I have a table called reservations which has columns start_date and end_date.
If date_diff(start_date and end_date) is 30 then I need to send an email on 8,2 and 1 days before end_date. same with the below..
60 – 15,4 & 1
120 and above – 30, 8, 2 & 1...
any idea how to do this ??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
设置 cronjob 来做这种事情。
set up cronjob to do this kind of stuff.
为您的查询编写 3 个单独的 sql 语句,让它们发挥作用。
然后将它们放入 php 中的 mysql_query 中,如果行计数 > 0,
则使用变量上的 isset 设置一个变量到电子邮件 smtp 脚本中,
设置一个 cron 作业每天早上检查。
write 3 separate sql statements for your query get these to work.
then put these into a mysql_query in php setting a variable if row count >0
using isset on the variable into email smtp script
set up a cron job to check every morning.
SELECT *,DATEDIFF(CURDATE(), end_date) as DIFF FROM TABLE WHERE DATEDIFF(CURDATE(), end_date) in (1,2,8)
SELECT *,DATEDIFF(CURDATE(), end_date) as DIFF FROM TABLE WHERE DATEDIFF(CURDATE(), end_date) in (1,2,8)
您可以做的是创建 2 个表,第一个用于主要预订信息,第二个用于存储发送日期(或发送提醒日期)。
保存记录时,您将检索当前日期和结束日期之间的差异;如果差值为 30,那么您必须将 send_dates 存储在 end_date 之前的 8,2 和 1 天;与您拥有的其他条件相同。
然后创建一个 cron 作业(每天运行)来检查 send_dates = 当前日期的第二个表。如果满足条件,则发送电子邮件。
希望这是您需要的
What you can do is you create 2 tables, 1 for the main reservation information and the 2nd one will be for the storing of the send dates (or send reminder dates).
When the saving the record you will then retrieve the difference between the current date and the end_date; if difference will be 30 then you'll have to store send_dates 8,2 and 1 days before the end_date; same with the other conditions you have.
Then create a cron job (that will run daily) to check the 2nd table of the send_dates = current date. Then email if conditions is met.
Hope this is the one you needed