【发布时间】:2014-05-02 08:41:10
【问题描述】:
我正在研究交通信号灯系统。它有点乱,而且没有按应有的方式工作。
我的目标是让系统像这样工作;
数据库中有供应商保险到期的日期。如果到期日期是 30 天或更短,那么我希望这些日期被拉出并回显,但不应显示 30 天后到期的其他日期。
目前它还给出了距离到期日的天数,但这不能正常工作,所以说今天是 5 月 2 日,明天是 3 日;保险单是3号到期,所以应该说保险明天到期。这目前无法正常工作,我得到的是“2天”直到到期而不是“明天到期”
同样,如果保险今天到期,它应该说今天到期,但它的日子不对。
另外,我设计了不同颜色的 div 标签,以根据保险文件到期的日期显示为一种交通灯信号。如果文档将在 30 到 20 天内到期,我希望显示我的绿色 div,否则如果文档将在 19-7 天内到期,我希望它显示为琥珀色,如果文档将在 7- 0 天或逾期应为红色。
这是我的代码,请谁能告诉我如何改进它以完成我需要它做的事情,谢谢
代码:
<?php include 'config.php';
$data = mysql_query("SELECT *, TIMESTAMPDIFF(DAY, insurance_date, NOW()) AS expire_date FROM supplier_stats")
or die(mysql_error());
echo "<table class=\"table\" style=\"width:995px; font-family: 'Lucida Grande', Tahoma, Verdana, Arial, sans-serif;
font-size:11px;\" >
<tr>
<td style=\"width:100px;\">ID:</td><td>Company Name:</td><td>Company Reg No:</td><td>Owner:</td><td style=\"width:200px;\">Note:</td><td style=\"width:100px;\">Date:</td><td>Status:</td></tr>";
while($row = mysql_fetch_array( $data )) {
$days = $row['expire_date'] -1;
echo "<tr><td style=\"width:100px;\"><p>".$row['id'] . "</p></td>";
echo "<td style=\"width:150px;\"><p>".$row['company_name'] . "</p></td>";
echo "<td style=\"width:150px;\"><p>".$row['company_reg_number'] . "</p></td>";
echo "<td style=\"width:100px;\"><p>".$row['owner'] . "</p></td>";
if ($days > 0) {
echo "<td style=\"width:200px;\"><p>Insurance expires in <font color=\"red\">{$row['expire_date']} day(s)!</font></p></td>";
} else {
$when = $days*-1;
echo "<td style=\"width:200px;\"><p>Insurance expires";
if ($when > 1){
echo " in <font color=\"red\">{$when} days</font></p></td>";
} elseif ($when < 1) {
echo "<font color=\"red\"> tomorrow!</font></td>";
}
elseif ($when == 0)
{
echo " today!</font></p></td>";
}
echo "<td>";
echo date('d/m/Y',strtotime($row['insurance_date']));
echo"</td>";
}
if ($when >= 20){
echo "<td style=\"width:150px;\"><div class=\"green_light\"></div></td>";
}
if ($when >= 7){
echo "<td style=\"width:150px;\"><div class=\"amber_light\"></div></td>";
}
if ($when <= 7){
echo "<td style=\"width:150px;\"><div class=\"red_light\"></div></td>";
}
echo "<tr>";
}
echo "</table>"; //Close the table in HTML
?>
【问题讨论】: