我有一个sql表,用于比较今天的日期和三个不同案例的项目的Expiry_Date,并显示每个案例的相关消息,我正在尝试更改每个单元格的颜色。情况下。
例如,
案例1:如果今天的日期> Expiry_Date单元格颜色应为红色
案例2:如果今天的日期= Expiry_Date,则单元格颜色应为Yello
案例3:如果今天的日期< Expiry_Date单元格颜色应为绿色
我添加了以下代码,但只执行了case3,并且还为其他情况提供了绿色(颜色错误)
那么无论如何根据它的情况更改单元格的颜色?
我的代码
$sql = "SELECT
ID,
Item_Name,
Expiry_Date,
CASE
WHEN `Expiry_Date` < CURDATE() THEN CONCAT (`Item_Name`, ' has EXPIRED already')
WHEN `Expiry_Date` = CURDATE() THEN CONCAT(`Item_Name`,' is going to expire today')
WHEN `Expiry_Date` BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 1 DAY) THEN CONCAT(`Item_Name`,' will expire tomorrow')
WHEN `Expiry_Date` > DATE_ADD(CURDATE(), INTERVAL 1 DAY) THEN CONCAT(`Item_Name`,' has not expire yet')
ELSE 'Error processing expiration date.'
END AS `Expiration_Message`
FROM
test;";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['ID']. "</td>";
echo "<td>" . $row['Item_Name']. "</td>";
if($row['Expiry_Date']<['CURDATE()']) // green
echo "<td style='background-color: #00FF00;'>".$row['Expiry_Date']."</td>";
else if($row['Expiry_Date']>['CURDATE()'])// red
echo "<td style='background-color: #FF0000;'>".$row['Expiry_Date']."</td>";
else if($row['Expiry_Date']==['CURDATE()']) // yellow
echo "<td style='background-color: #FFFF00;'>".$row['Expiry_Date']."</td>";
echo "<td>" . $row['Expiration_Message']. "</td>";
echo "</tr>";
}
答案 0 :(得分:-1)
案例1:如果今天的日期&gt; Expiry_Date单元格颜色应为红色
案例2:如果今天的日期= Expiry_Date,则单元格颜色应为Yello
案例3:如果今天的日期&lt; Expiry_Date单元格颜色应为绿色
<强>代码:强>
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['ID'] . "</td>";
echo "<td>" . $row['Item_Name'] . "</td>";
if(strtotime($row['Expiry_Date']) < strtotime(date('Y-m-d'))) // green
{
echo "<td style='background-color: #00FF00;'>" . $row['Expiry_Date'] . "</td>";
}
else if(strtotime($row['Expiry_Date']) > strtotime(date('Y-m-d')))// red
{
echo "<td style='background-color: #FF0000;'>" . $row['Expiry_Date'] . "</td>";
}
else if(strtotime($row['Expiry_Date']) == strtotime(date('Y-m-d'))) // yellow
{
echo "<td style='background-color: #FFFF00;'>" . $row['Expiry_Date'] . "</td>";
}
echo "<td>" . $row['Expiration_Message'] . "</td>";
echo "</tr>";
}
试试这个。
date('Y-m-d', strotime($row['Expiry_Date'])
会将您的$row['Expiry_Date']
转换为Y-m-d
格式。 date('Y-m-d')
检查当前(服务器/客户端,不确定,认为其客户端)日期。