2017-03-02 55 views
0

PHP語句我網站上的房源有三種狀態: - 主動 - 銷售 - 過期時間到期

我寫這讓那些在活動或銷售,如果他們通過一定的自動失效列表日期。

<span class="detail">Status: <?php 
    if(strtotime($property['data']['field_3211']) < time()){ echo 'Expired'; } 
    else if($property['raw']['field_3022'] == 5) echo 'Active'; 
    else if($property['raw']['field_3022'] == 8) echo 'Sold'; 
    else echo 'Not set'; 
    ?> 
</span> 

我現在想改變它,只到期如果狀態設置爲有效,因此如果它被設置爲賣忽略到期。

+0

有一個查找表與這些代碼相關聯,將有助於清理它有很多的標籤。 – tadman

回答

0

您需要做的只是在if中指定輸出已過期的消息,即記錄必須處於活動狀態以及< time()

<span class="detail">Status: 
<?php 
    if(strtotime($property['data']['field_3211']) < time() && 
     $property['raw']['field_3022'] == 5) 
    { 
     echo 'Expired'; 
    } 
    else if($property['raw']['field_3022'] == 5) { 
     echo 'Active'; 
    } 
    else if($property['raw']['field_3022'] == 8) { 
     echo 'Sold'; 
    } 
    else { 
     echo 'Not set'; 
    } 
?> 
</span> 
+0

謝謝。這工作。對不起,如果這是一個愚蠢的問題。 –

0

試試這個:

<span class="detail">Status: <?php 
    $status = $property['raw']['field_3022']; 
    $expired = (strtotime($property['data']['field_3211']) < time()); 

    switch (true) { 
     case ($status == 5) : echo ($expired) ? 'Expired' : 'Active'; break; 
     case ($status == 8) : echo 'Sold'; break; 
     default    : echo 'Not set'; 
    } 
?> 
</span> 
+0

謝謝!這也起作用了! –