Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 将两个日期之间的所有日期插入具有相反数据的Mysql数据库_Php_Loops_Insert - Fatal编程技术网

Php 将两个日期之间的所有日期插入具有相反数据的Mysql数据库

Php 将两个日期之间的所有日期插入具有相反数据的Mysql数据库,php,loops,insert,Php,Loops,Insert,我试图在两个日期之间将行插入数据库 这是我的桌子 用户将填写一份简短表格,说明开始和结束日期以及第一周的值(0或1) $WorkDays为0或1(0为周一、周二、周三,1为周四、周五、周六) 我可以使用以下命令插入第一周罚款: $mon=$Start; $tue=date('Y-m-d', strtotime($Start. ' + 1 days')); $wed=date('Y-m-d', strtotime($Start. ' + 2 days')); $thu

我试图在两个日期之间将行插入数据库

这是我的桌子

用户将填写一份简短表格,说明开始和结束日期以及第一周的值(0或1)

$WorkDays
为0或1(0为周一、周二、周三,1为周四、周五、周六)

我可以使用以下命令插入第一周罚款:

$mon=$Start;              
$tue=date('Y-m-d', strtotime($Start. ' + 1 days'));
$wed=date('Y-m-d', strtotime($Start. ' + 2 days'));
$thu=date('Y-m-d', strtotime($Start. ' + 3 days'));
$fri=date('Y-m-d', strtotime($Start. ' + 4 days'));
$sat=date('Y-m-d', strtotime($Start. ' + 5 days'));

if($WorkDays==1){$monWork=1; $tueWork=1; $wedWork=1; $thuWork=0; $friWork=0; $satWork=0; }
if($WorkDays==2){$monWork=0; $tueWork=0; $wedWork=0; $thuWork=1; $friWork=1; $satWork=1; }      
然后我每天都会插入查询mon-sat

然后,我需要相同的脚本来查看开始和结束之间的所有日期,并将其插入到相同的数据库中,但每天必须具有最后一周的oposite值

例如

第一周:周一=1,周二=1,周三=1,周四=0,周五=0,周六=0
第二周:周一=0,周二=0,周三=0,周四=1,周五=1,周六=1

以下是我尝试过的:

//Get the date 1 after the start date as first week already inserted
   $SevenDays=date('Y-m-d', strtotime($Start. ' + 7 days'));  
    $startTime = strtotime( $SevenDays);
    $endTime = strtotime( $End );

//Loop through each day between the start and end date
    for ( $i = $startTime; $i <= $endTime; $i = $i + 86400 ) { 
    $given_date =  date( 'Y-m-d', $i );
    $given_date_day =  date( 'l', $i );

//Select the same day the week before
    $result1512=mysql_query("SELECT * FROM RosteredPatternHours where PatternID='$PatternID' and WorkingDate='$SevenDaysGiven'")or die('Error 84' . mysql_error());
        for ($ii = 1; $ii <= mysql_num_rows($result1512); $ii++) {
        $row = mysql_fetch_array($result1512);  
        $Day = $row ['Day'];
        $Working = $row ['Working'];

//Set Working to opposite of last week
        if($Working==1){$WorkingDay=0;}
        if($Working==0){$WorkingDay=1;}
//获取开始日期后的日期1,因为已插入第一周
$SevenDays=日期('Y-m-d',strottime('Start.'+7天');
$startTime=strotime(七天);
$endTime=strottime($End);
//在开始日期和结束日期之间循环每天
对于($i=$startTime;$i)
//Get the date 1 after the start date as first week already inserted
   $SevenDays=date('Y-m-d', strtotime($Start. ' + 7 days'));  
    $startTime = strtotime( $SevenDays);
    $endTime = strtotime( $End );

//Loop through each day between the start and end date
    for ( $i = $startTime; $i <= $endTime; $i = $i + 86400 ) { 
    $given_date =  date( 'Y-m-d', $i );
    $given_date_day =  date( 'l', $i );

//Select the same day the week before
    $result1512=mysql_query("SELECT * FROM RosteredPatternHours where PatternID='$PatternID' and WorkingDate='$SevenDaysGiven'")or die('Error 84' . mysql_error());
        for ($ii = 1; $ii <= mysql_num_rows($result1512); $ii++) {
        $row = mysql_fetch_array($result1512);  
        $Day = $row ['Day'];
        $Working = $row ['Working'];

//Set Working to opposite of last week
        if($Working==1){$WorkingDay=0;}
        if($Working==0){$WorkingDay=1;}