2011-06-24 39 views
0

我已經編寫了一段代碼,允許將電子郵件發送給尚未登錄一段時間的所有用戶。操作time()函數以允許發送電子郵件

的HTML是:

<select name="criteria"> 
    <option value="14"<?php if("14" == $form->value("criteria")){ echo 'selected="selected"'; }?>>14 days</option> 
    <option value="28"<?php if("28" == $form->value("criteria")){ echo 'selected="selected"'; }?>>28 days</option> 
    <option value="90"<?php if("90" == $form->value("criteria")){ echo 'selected="selected"'; }?>>3 months</option> 
    <option value="180"<?php if("180" == $form->value("criteria")){ echo 'selected="selected"'; }?>>6 months</option> 
    <option value="365"<?php if("365" == $form->value("criteria")){ echo 'selected="selected"'; }?>>1 year</option> 
</select> 

這然後在另一個文件中接收到的和下面的代碼接管

$time = time() - ($criteria * 0 * 0 * 0); 
$q = $admindb->getReminderCustomerEmail($time); 

數據庫查詢如下:

function getReminderCustomerEmail($time){ 
    global $database; 
    $q = "SELECT email, title, forename, surname FROM ".TBL_USERS." WHERE last_logged <= '$time'"; 
    return mysql_query($q, $database->myConnection()); 
} 

的想法是,如果您選擇14天,則所有在過去14天內未登錄的用戶將被郵寄。

此刻,這不會發生,它似乎只是消息所有用戶。

我認爲,誤差必須在該行

$time = time() - ($criteria * 0 * 0 * 0); 

任何想法?謝謝

+1

你爲什麼把你的'$ criteria'乘以零? – hughes

回答

2

任意數量總是爲零。

您是否在尋找($criteria * 86400)也許(獲得天數)然後減去time()

您還可以使用strtotime

strtotime('-' + $criteria + ' day',time()); 
+0

我是甜甜圈!你必須指定3個零件,我把0放在哪裏? – sark9012

+0

爲了便於閱讀,他可能需要($ criteria * 60 * 60 * 24)幾天。或者至少這是我認爲他想要做的。 – Tremmors

+0

doh,思考時間戳,nvm –

1

不會從時間()一直減去0? $標準被乘以0 ...

+0

我是甜甜圈!你必須指定3個零件,我把0放在哪裏? – sark9012

1

一個愚蠢的問題:1000 * 0 =?

是的,它是0

相關問題