这就是我设置我的cron工作每分钟运行的方式,这样这个sciprt必须告诉自己我14天前在丹麦时间14:32登录该网站。因此,必须在丹麦时间14:32 10天后向用户发送电子邮件。
我试着在这里看一下:
SQL Get all records older than 30 days
$sql = "SELECT bruger.id, bruger.brugernavn, bruger.fornavn, bruger.efternavn FROM bruger INNER JOIN ipbruger ON bruger.id=ipbruger.brugerid WHERE ipbruger.dato_tid < NOW() - INTERVAL '10 days'";
if ($stmt = $this->mysqli->prepare($sql))
{
$stmt->execute();
$stmt->bind_result($id, $brugernavn, $fornavn, $efternavn);
while ($stmt->fetch()) {
$navn = $fornavn . " " . $efternavn;
$til = $brugernavn;
$email_admin = "hello@hello.dk";
$fra = "Savner dig på hello.dk " . "<" . $email_admin . ">";
$emne = "Længe siden vi har set dig på hello.dk";
$besked = file_get_contents('mail_missbruger.php');
$besked = str_replace("%%navn", $navn, $besked);
$besked = str_replace("%%brugernavn", $til, $besked);
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=UTF-8 \n";
$headers .= "From: " . $fra . "\n";
mail($til, $emne, $besked, $headers);
}
$stmt->close();
}
我应该看一下这个区域,以找出用户上次在网页上的时间。
ipbruger.dato_tid < NOW() - INTERVAL '10 days'
答案 0 :(得分:1)
使用DATE_SUB
减去间隔,或DATE_ADD
添加间隔。
$sql = "SELECT bruger.id, bruger.brugernavn, bruger.fornavn, bruger.efternavn FROM bruger INNER JOIN ipbruger ON bruger.id=ipbruger.brugerid WHERE ipbruger.dato_tid < DATE_ADD(NOW(), INTERVAL 10 DAY)";
或
$sql = "SELECT bruger.id, bruger.brugernavn, bruger.fornavn, bruger.efternavn FROM bruger INNER JOIN ipbruger ON bruger.id=ipbruger.brugerid WHERE ipbruger.dato_tid > DATE_SUB(NOW(), INTERVAL 10 DAY)";