2017-05-27 22 views
1

から3日以内に期限が私は上記のすべての日付は、MySQLから取得された動的である2つの変数、変更色現在の日付PHP

$current_date = "27-05-2017"; 
$due_date = "29-05-2017"; 

を持っている場合。 $due_dateが変更されます。

$due_date$due_dateから+3日以内にある場合は、色が変わる必要があります。例えば

$current_date = "27-05-2017"$due_date = "28-05-2017", $due_date = "29-05-2017", $due_date = "30-05-2017"場合の色はorangeであるべきです。

$current_date = "27-05-2017"$due_date = "31-05-2017", $due_date = "01-06-2017"の場合、色はblueである必要があります。

私は以下のコードを使用してみました。

$due_date = "30-05-2017"; 
$cur_date = "27-05-2017"; 

if($due_date > strtotime("+1 day", strtotime($cur_date)) or $due_date < strtotime("+2 day", strtotime($cur_date)) or $due_date < strtotime("+3 day", strtotime($cur_date))) 
    echo "orange"; 
else 
    echo "blue"; 

コードがすべての条件で機能していません。これを修正する方法。あなたが一つの条件で行うことができます

+0

は色cur_date' $ '未満due_date'' $は 'blue'する必要があります場合は、アプリケーションのコード – Strawberry

答えて

4

$due_date = "30-05-2017"; 
$cur_date = "27-05-2017"; 

if(strtotime($due_date) > strtotime($cur_date) && strtotime($due_date) <= strtotime("$cur_date +3 day")) 

    echo "orange"; 
else 
    echo "blue"; 
+0

でのデータ表示の問題を扱うことを検討してください。 '26-05-2017、25-05-2017 ... ' –

+0

' $ due_date'が '$ cur_date'に等しい場合、色は青色でなければなりません。たとえば、 '$ due_date = 27-05-2017'となります。実際に私はこの状態を忘れていました。 –

+0

Mohammadの答えは簡単ですが、日付の比較をしている場合は[Carbon](http://carbon.nesbot.com/docs/)ライブラリを見てください。 – PHLAK

関連する問題