10天后向用户发送电子邮件给我们

时间:2014-02-10 20:54:42

标签: php mysqli

这就是我设置我的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'

1 个答案:

答案 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)";