Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
过去天数的PHP插入脚本_Php_Mysql - Fatal编程技术网

过去天数的PHP插入脚本

过去天数的PHP插入脚本,php,mysql,Php,Mysql,我需要为过去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

我需要为过去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 = "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。

这将为你提供你想要的日期格式:

date('d/m/Y', strtotime($i." days"));
$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"));
}

$i是此日期过去/之前的天数。所以如果$i是-1,那意味着一天前。我想你可以做一个循环,减少/增加$I。

什么不起作用?我都不知道该怎么开始。除了一个插件,我没有任何代码可以显示给你。我想知道的是如何使用
date()
查看这不是你想要的吗??只需使用
$dateTime->format(“d/M/Y”)
而不是什么不起作用?我都不知道该怎么开始。除了一个插件,我没有任何代码可以显示给你。我想知道的是如何使用
date()
查看这不是你想要的吗??只需使用
$dateTime->format(“d/M/Y”)
而不是为什么?为什么?为什么?使用
$days=0$天+++
在PHP中,然后
插入到。。。。PHP中的值(now()+interval$days)
。这样更安全,可以处理DST更改,是吗?如果脚本在23:59:59开始,并在运行期间滚动,该怎么办?那就跳过一天。显然,我的硬编码整数加法并不理想,但我不确定你的也不理想。我会使用Undrium的解决方案,同时在循环之前节省当前时间,而不是在每次迭代中引用它。为什么?为什么?为什么?使用
$days=0$天+++
在PHP中,然后
插入到。。。。PHP中的值(now()+interval$days)
。这样更安全,可以处理DST更改,是吗?如果脚本在23:59:59开始,并在运行期间滚动,该怎么办?那就跳过一天。显然,我的硬编码整数加法并不理想,但我不确定你的也不理想。我会使用Undrium的解决方案,同时在循环之前节省当前时间,而不是在每次迭代中引用它。
$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"));
}