我正在尝试选择数据,我的PHP脚本已动态设置日期。这完美无瑕。然而,对于我的生活,我无法绕过如何让它重演。这是我目前的代码:
function getMonthAPI($field){
$query = "SELECT *,
CASE `RecurrenceType`
WHEN 'DAY' THEN DATE_ADD(`Date`, INTERVAL `RecurrenceInt` DAY)
WHEN 'MONTH' THEN DATE_ADD(`Date`, INTERVAL `RecurrenceInt` MONTH)
WHEN 'YEAR' THEN DATE_ADD(`Date`, INTERVAL `RecurrenceInt` YEAR)
END AS `TargetDate`
FROM `Tracking`
JOIN `Employees` ON `Tracking`.EmployeeID = `Employees`.ID
Join `Companies` ON `Tracking`.CompanyID = `Companies`.ID
HAVING `TargetDate` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 30 DAY) AND `Alert` = 0 AND `FieldID` = '$field'";
$result = mysql_query($query);
$num = mysql_num_rows($result);
if($num == 0) return 0;
return $result;
}
因此,您可以通过我的代码看到,用户可以键入任何整数并选择日,月或年。然后,此脚本将根据动态字段重新发生事件。再一次,这部分工作正常。我现在唯一的问题很简单。为了继续重复,我必须在每次发生时更改记录中的日期,或者找出一种方法来使用MySQL查询本身。
我不希望效率低下;我不想在我的PHP代码中多次选择数据(因此在我的查询中调用大小写)。这是一个原因,我不会非常偏爱在事件发生后更新每条记录的想法。
有什么建议吗?我知道有很多才华横溢的人会知道,并且之前已经这样做了。
如果重要,每天都会由Cron Job调用。当前代码会在接下来的30天内查看所有内容,并在此基础上发出警报。