这是我的建议,创建一个文件来存储脚本运行的最后日期,假设今天(2013 年 1 月 11 日)您已经运行了该脚本,而不是仅在该文件中存储 2013 年 1 月 11 日,如果您运行明天再次,它将存储明天的日期 2013-01-12。
我们将使用这个日期来创建查询并减少我们的处理时间。
存储在文件中的日期是我们的 $minDate,
使用查询从数据库中找出最大日期,说它是 $maxDate,
查询:Select Date,Spent from table where date('Date')>$minDate;
将结果存储在数组中 $dateArray
使用 $minDate 和 $maxDate 之间的期间创建一个日期数组
$starting_date = new DateTime($minDate." 00:00");
$ending_date = new DateTime($maxDate." 23:59:59");
$interval = new DateInterval('P1D');
$period = new DatePeriod($starting_date , $interval, $ending_date);
foreach ($period as $date) {
$curDate=$date->format('Y-m-d');
if(!in_array($curDate,$dateArray)){
//insert new row with $curDate
}
}
update lastProcessedDate in your file