Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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日期x和日期y之间的所有日期_Php_Html_Sql - Fatal编程技术网

PHP日期x和日期y之间的所有日期

PHP日期x和日期y之间的所有日期,php,html,sql,Php,Html,Sql,我有两个html输入日期,如下所示: Date 1 <input class="input100" type="date" name="date" placeholder="Date in.. dd/mm/yyyy"> Date 2 <input class="input100" type="date" name="date" placeholder="Date in.. dd/mm/yyyy"> 我将日期作为$gdate放在数据库中,但是如何使它自动将日期1和日期2之

我有两个html输入日期,如下所示:

Date 1 <input class="input100" type="date" name="date" placeholder="Date in.. dd/mm/yyyy">
Date 2 <input class="input100" type="date" name="date" placeholder="Date in.. dd/mm/yyyy">
我将日期作为
$gdate
放在数据库中,但是如何使它自动将日期1和日期2之间的所有日期以一定的限制放在数据库中,这样就不会太多了?

这对您很有帮助

function date_range($first, $last, $step = '+1 day', $output_format = 'd/m/Y' ) {

    $dates = array();
    $current = strtotime($first);
    $last = strtotime($last);

    while( $current <= $last ) {

        $dates[] = date($output_format, $current);
        $current = strtotime($step, $current);
    }

    return $dates;
}
函数日期\范围($first、$last、$step='+1天',$output\格式='d/m/Y'){
$dates=array();
$current=strottime($first);
$last=strottime$last;
而($current通过:

输出:

2012-08-01
2012-08-02
2012-08-03
2012-08-04
2012-08-05

谢谢,效果很好!有没有办法设置一个限制,这样如果有人输入了很多日期,我的数据库就不会崩溃?我不知道这样的东西怎么会“崩溃”一个数据库,如果出于更实际的原因想限制跨度的大小,您可能需要检查。假设有人填写了日期5-5-0000和5-5-10000,那么可能会有很多日期导致数据库崩溃。启动一个测试并尝试一下。您会惊讶地发现,即使是一个半正常的数据库也会被淹没这些天来,我像这样将它插入数据库
foreach($daterange as$date){$data=$date->format(“Y-m-d”).PHP_EOL;echo$data;$sql=“插入$stad(gnummer,beschikbare_data)值($query_klantnummer,$data)”或die(mysql_error());如果($conn->query($sql)==TRUE){echo“新记录创建成功”;}否则{echo”错误:“..sql.”
“$conn->Error;”}
但是,它会将不正确的年份(没有日期/月份)随机返回到数据库中。但是,当我回显$data时,它会返回正确的日期(有月份/天)?
$begin = new DateTime( '2012-08-01' );
$end = new DateTime( '2012-08-05' );
$end = $end->modify( '+1 day' ); 

$interval = new DateInterval('P1D');
$daterange = new DatePeriod($begin, $interval ,$end);

foreach($daterange as $date){
    echo $date->format("Y-m-d") . PHP_EOL;
}
2012-08-01
2012-08-02
2012-08-03
2012-08-04
2012-08-05