0

如果 MySQL 的日期 = 2013-12-25 & $daydiff = "anything",我试图将我的输出设置为“未确认的日期”,如果 MySQL date = "NULL" & 和 $daydiff,则输出“不可用” =“任何东西”

我下面的代码似乎不起作用,有什么建议或替代方案吗?

$ArrivalDate == $variants_data['ArrivalDate'];

$daydiff=floor((abs(strtotime(date("Y-m-d")) - strtotime($ArrivalDate))/(60*60*24)));


if ( $daydiff == '%wildcard%' && $ArrivalDate == '2013-12-25') {
    $ETA ='Date Not Confirmed';
} 

elseif ( $daydiff == '%wildcard%' && $ArrivalDate == 'NULL') {
    $ETA ='Not available';
}

elseif ( $daydiff > 30 && $daydiff < 60 ) { // anything between 31 and 59 days is 1 month
    $ETA ='1 Month';
}

elseif ( $daydiff > 60 &&  $daydiff < 90  )  { // anything between 61 and 89 days is 2 months
    $ETA ='2 Months';
}

else
{
    $ETA ='';
}
4

2 回答 2

0

好吧,您在 if 子句中分配变量...单个“=”正在分配。我假设你想检查所以你需要 "==" :)

if (!empty($daydiff) &&  $ArrivalDate == '2013-12-25') {
   $ETA ='Date Not Confirmed';
} 

elseif (is_null($ArrivalDate) || $ArrivalDate == 'NULL') {
   $ETA ='Not available';
}
于 2013-04-10T09:30:16.403 回答
0

你的输出是什么?总是“日期未确认”?

我猜是这样,因为“=”不比较字符串:

if ( $daydiff = '%wildcard%' && $ArrivalDate = '2013-12-25') {
    $ETA ='Date Not Confirmed';
} 

将会

if ( $daydiff == '%wildcard%' && $ArrivalDate == '2013-12-25') {
    $ETA ='Date Not Confirmed';
} 

但是,'%wildcard%' 不是什么东西,PHP 用'anything' 代替。那么,您的确切错误是什么?如果没关系, $daydiff 是什么,只需将其排除在您的条件之外。

于 2013-04-10T09:30:57.777 回答