2015-11-01 124 views
1

我正在尋找突出顯示12歲及以上孩子時的行,但所有行都突出顯示。php大於比較不起作用

簡而言之,這裏是我的數據。

我得到的出生日期在這裏:

 // getting birth date to a string 
     $birthDateIn=strtotime($birthDate); 
     $newDate=date('Y-m-d',$birthDateIn); 

,我發現了孩子的年齡從今天開始在這裏:

 // getting the date difference between birthdate and today 
     $birthDateIn = new DateTime(''.$newDate.''); 
     $todayDateIn = new DateTime('today'); 
     $age = $birthDateIn->diff($todayDateIn); 

我循環通過MySQL查詢結果,然後顯示年齡格式爲:

 echo "<td>" . $age->format('%y years %m months') ."</td>"; 

然後,該代碼將在2020年兒童的年齡(這個工程):

 //Get age Dec 2020 
     $setDec2020 = new DateTime('2020-12-31');   
     $ageOnDec2020=$birthDateIn->diff($setDec2020); 

現在,這是我的問題。我使用此代碼顯示一個綠色的跨度,如果孩子的年齡將超過12歲,否則,黃色:

 if ($ageOnDec2020 > 12) 
     { 
      $ageOnDec2020Display = "<span style='background-color: #98FB98'>".$ageOnDec2020->format('%y') ."</span>"; 
     } else { 

      $ageOnDec2020Display= "<span style='background-color: #FFFF00'>".$ageOnDec2020->format('%y') ."</span>"; 
     } 

然後,我將其顯示爲這樣:

  echo "<td>" . $ageOnDec2020Display ."</td>"; 

輸出結果是,當所有值都不超過12時,所有內容都會突出顯示爲黃色。我認爲這與我的「if」語句中的「字符串」和「整數」有關 - 但不確定接下來要做什麼。

任何想法?

+1

檢查ageOnDec2020變量的IF環 –

+1

前值嘗試此鏈接的http:/ /stackoverflow.com/questions/28621270/php-object-of-class-dateinterval-could-not-be-converted-to-string –

+0

謝謝。我剛剛添加了這個,它的工作原理:($ ageOnDec2020-> format('%y')> 12) – kentrenholm

回答

0

感謝幸運Chingi方向,我只是說這對我的IF語句,一切都很好與世界:

($ageOnDec2020->format('%y') > 12)