Php 添加3天到从DB获取的日期,预计为周末

Php 添加3天到从DB获取的日期,预计为周末,php,sql,Php,Sql,我有一个带有status列和date列的表。如果状态为2或6,则我需要从DB中增加3天的预期周末。这是我的密码: $selectall = sqlsrv_query($conn, "select * from Table where and Status = 2 or status = 6", $params, $options); while($fetchall = sqlsrv_fetch_array($selectall)) { $id = $fetchall['D

我有一个带有status列和date列的表。如果状态为2或6,则我需要从DB中增加3天的预期周末。这是我的密码:

$selectall = sqlsrv_query($conn, "select * from Table where and Status = 2 or status = 6", $params, $options);
    while($fetchall = sqlsrv_fetch_array($selectall))
    {
    $id = $fetchall['DATAID'];
        $dates = $fetchall['DATE'];
    if( 3 DAYS PAST )
    {
     sqlsrv_query($conn, "UPDATE TABLE SET STATUS=5 WHERE DATAID=$ID")
    }
}

我不认为这是一个JS问题,但无论如何,您需要在php代码中计算日期范围,并将该日期范围放入SQL查询中。也就是说,您可以选择开始日期,检查当前的工作日,并进行相应的数学计算以增加额外的天数。

我会在日期变量周围使用类似的内容

select
DATEADD(d,
    case when datepart(dw,'2017-05-17')=6 then 6 
         when datepart(dw,'2017-05-17')=7 then 5
         when datepart(dw,'2017-05-17')=1 then 4
         when datepart(dw,dateadd(d,3,'2017-05-17'))=7 then 5
         when datepart(dw,dateadd(d,3,'2017-05-17'))=1 then 4
         else 3 

    end
    ,'2017-05-17')
$selectall=sqlsrv_查询($conn,“从表中选择*,其中状态=2或状态=6“,$params,$options);
而($fetchall=sqlsrv\u fetch\u数组($selectall))
{
$DATAID=$fetchall['DATAID'];
$dates=$fetchall['DATE'];
$p=日期(“l”);
交换机(p美元)
{
“星期三”“星期四”“星期五”一案:
$day=“-5天”;
打破
违约:
$day=“-3天”;
}
$s=日期($dates);
$today=日期('Y-m-d');
$totalday=日期('Y-m-d',标准时间($day));

如果($totalday我需要代码,而不是解释。我知道我需要做什么,但不知道如何为此编写代码。然后到这里,代码对我不起作用。它总结了3天到目前为止,不期待周末。谢谢你的回复。我不需要总结到今天的3天。2015-2017年我有很多日期。没问题,当我把2017-05-17放在这里时,这是j我们需要一个日期来测试..你应该把你的列名放在那里
 $selectall = sqlsrv_query($conn, "select * from Table where and Status = 2 or status = 6", $params, $options);
 while($fetchall = sqlsrv_fetch_array($selectall))
 {
 $DATAID= $fetchall['DATAID'];
 $dates = $fetchall['DATE'];
 $p = date("l");

 switch ($p) 
  {
   case "Wednesday" || "Thursday" || "Friday":
       $day = '-5 days';
       break;
   default:
       $day = '-3 days';
   }
 $s = date($dates);
 $today = date('Y-m-d');
 $totalday = date('Y-m-d', strtotime($day));
 if($totalday <= $s)
 {
   sqlsrv_query($conn, "UPDATE table SET STATUS = 5 WHERE DATAID=$dataid");
 }
}