2013-04-10 2 views
0

Я пытаюсь установить свой вывод на «Дата не подтверждена», если дата из MySQL = 2013-12-25 & $ daydiff = «ничего» и выводить «Недоступно», если MySQL date = "NULL" & и $ daydiff = "ничего"Диапазон дат до месяцев в PHP

Мой код ниже не работает, никаких предложений или альтернатив?

$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 =''; 
} 
+0

Что вы пытаетесь сделать с помощью '% wildcard%'? –

+0

Это для любой ценности. – Mlungisi

+0

так зачем ставить его в if, если какое-либо значение в порядке? 0 также приемлемо? –

ответ

0

Ну, вы назначаете переменные в своих предложениях ... Одиночный «=» присваивает. Я предполагаю, что вы хотите проверить, так что вам нужно «==» :)

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

elseif (is_null($ArrivalDate) || $ArrivalDate == 'NULL') { 
    $ETA ='Not available'; 
} 
+0

Спасибо, я пробовал «==», но все равно не выиграл :( – Mlungisi

+0

Хорошо, но какой exaclty ваш ouptut? И откуда получается «% wildcard%»? – Chris

+0

'% wildcard%' = любое значение или что-то ie -9 или 8 – Mlungisi

0

Какой у вас выход? Всегда «Дата не подтверждена»?

я так думаю, потому что "=" не сравнить строки:

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

будет

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

Но тогда, '% подстановочные%' не то, PHP заменяет на " что-нибудь'. Итак, какова ваша точная ошибка? Если это не имеет значения, что такое $ daydiff, просто оставьте его вне вашего состояния.

+0

Спасибо @jens - я пробовал «==», но не получал результатов. Нет ошибки, но я не могу получить требуемые результаты. $ daydiff - это количество дней, я не хочу ставить, т.е. 55 дней, но я бы сказал, что в течение 2 месяцев или двух месяцев. – Mlungisi

Смежные вопросы