鉴于有日期和时间的活动,如何在活动开始前2天发送电子邮件?

时间:2013-09-20 06:06:20

标签: php database events scheduling reminders

标题是什么。

在我的数据库中,我有一个用户列表和一个包含日期和时间的事件列表。

如何编写脚本,使我能够自动(优先)向用户列表发送电子邮件,提醒他们提前2天发布事件?

编辑:我在考虑使用this 但我不确定如何完全实现它。

1 个答案:

答案 0 :(得分:-1)

这是数据库问题吗?

根据您的表结构......这样的事情可能适合您

SELECT * FROM user
INNER JOIN event ON user.id = event.user_id
WHERE DATE(event.event_datetime) = DATE(DATE_ADD(NOW(), INTERVAL 2 DAY));

这将选择event_datetime从现在开始两天的所有事件。

编辑:

这是一个可能适用于您的快速且肮脏,未经测试的脚本

<?php

//change these to whatever your database settings are
$host = 'localhost';
$dbname = 'my_database';
$user = 'username';
$password = 'password';

//create a new PDO handle
$dbh = new PDO("mssql:host=$host;dbname=$dbname", $user, $password);

//prepare your query
$sth = $dbh->prepare("SELECT * FROM user
INNER JOIN event ON user.id = event.user_id
WHERE DATE(event.event_datetime) = DATE(DATE_ADD(NOW(), INTERVAL 2 DAY))");

//execute query and fetch results
$sth->execute();
$results = $sth->fetchAll();

//iterate through results and send event notification emails
foreach($results as $result) {
    //send event notification emails using your queried results eg. result['email'], $result['event_datetime'], $result['event_info'] ...
}

?>