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」語句中的「字符串」和「整數」有關 - 但不確定接下來要做什麼。
任何想法?
檢查ageOnDec2020變量的IF環 –
前值嘗試此鏈接的http:/ /stackoverflow.com/questions/28621270/php-object-of-class-dateinterval-could-not-be-converted-to-string –
謝謝。我剛剛添加了這個,它的工作原理:($ ageOnDec2020-> format('%y')> 12) – kentrenholm