我编写了一段代码,允许将电子邮件发送给所有未登录一段时间的用户。
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);
有什么想法吗?感谢
答案 0 :(得分:2)
任意数次零 始终为零。
您是否正在寻找($criteria * 86400)
(获得日期)然后从time()
中减去 值?
您还可以使用strtotime
:
strtotime('-' + $criteria + ' day',time());
答案 1 :(得分:1)
不会一直从时间()中减去0吗? $ criteria乘以0 ...
答案 2 :(得分:1)
一个愚蠢的问题:1000 * 0 = ??
没错,它是0