我需要为过去 5 年中的每一天填充一行?
E.g
1. 04/11/2012
2. 03/11/2012
3. 02/11/2012
4. 01/11/2012
5. 31/10/2012
6. etc
这只是一个我运行一次并插入所有记录的 php 脚本。
这样做的原因是为了在数据库中有足够的数据对我的其他代码进行性能测试。
像这样?
$date = "2007-01-01";
while ($date != "2013-01-01") {
//do your query... not going to do any escaping for brevity
mysql_query("INSERT INTO TABLENAME (SomeDateColumn) VALUES ('$date')");
$date = date("Y-m-d", strtotime($date) + 86400);
}
这将为您提供所需的日期格式:
date('d/m/Y', strtotime($i." days"));
$i 是该日期过去/之前的天数。因此,如果 $i 为 -1,则表示一天前。我想你可以循环它,减少/增加 $i。
$now = new DateTime(); // Now
$date = $new DateTime();
$date->sub(new DateInterval('P5Y')); // 5 years ago
while ($date->diff($now))->invert != 1)
{
// insert $date into database
// I'll leave that to you, as you were looking for a way to loop over dates
$date->add(new DateInterval("P1D"));
}