Я хочу изменить цвет всей строки в зависимости от продолжительности даты. Например, если продолжительность даты от 3 до 6, цвет оранжевый; более 6 должны быть показаны красным цветом. Могу ли я узнать, как я могу это сделать?
foreach ($ary_list as $k => $v) {
$color= xxx;
echo "<tr style=\"color:$color\">";
echo "<tr bgcolor=\"#F5F5F5\">\n";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["seal_area"]. "     ";
echo "</font>\n";
echo "</td>\n";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["seal_barcode"]. "     ";
echo "</font>\n";
echo "</td>\n";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["dt_issue"]. "     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["issue_admin"]. "     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["receive_by"]."     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["receive_id"]."     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["dt_return"]."     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["return_admin"]."     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["return_by"]. "     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
echo "  " .$v["return_id"]."     ";
echo "</font>\n";
echo "</td>";
/*echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"#3C5F84\">\n";
$now = time(); // or your date as well
$your_date = strtotime($v["dt_issue"]);
$datediff = $now - $your_date;
//echo round($datediff / (60 * 60 * 24));
//echo $datediff->format('%R%a days');
echo "  " .round($datediff / (60 * 60 * 24))."     ";
echo "</font>\n";
echo "</td>";*/
echo "<td nowrap ".$rowspan.">\n";
$now = time();
$your_date = strtotime($v["dt_issue"]);
$datediff = $now - $your_date;
$daysDiff = round($datediff / (60 * 60 * 24));
$color = $daysDiff < 3 ? '#3C5F84' : ($daysDiff <= 6 ? 'orange' : 'red');
echo "<font face=\"arial\" size=\"1\" color=\"$color\">\n";
echo "  " .$daysDiff."     ";
echo "</font>\n";
echo "</td>";
echo "</tr>";
}
Вышеприведенный код находится в php, как я считаю вкладку времени цикла. Для dt_issue используется функция now() при вставке в запрос. Я вставлю скриншот ниже.
🤔 А знаете ли вы, что...
PHP можно использовать для создания графических диаграмм и графиков.
Вы можете попробовать изменить цвет шрифта в зависимости от дней.
echo "<td nowrap ".$rowspan.">\n";
$now = time();
$your_date = strtotime($v["dt_issue"]);
$datediff = $now - $your_date;
$daysDiff = round($datediff / (60 * 60 * 24));
$color = $daysDiff < 3 ? '#3C5F84' : ($daysDiff <= 6 ? 'orange' : 'red');
echo "<font face=\"arial\" size=\"1\" color=\"$color\">\n";
echo "  " .$daysDiff."     ";
echo "</font>\n";
echo "</td>";
И если вы хотите изменить цвет всей строки, вы должны сделать это до эха тега <tr>
, например echo "<tr style=\"color:$color\">";
Пример целой строки:
foreach ($ary_list as $k => $v) {
$now = time();
$your_date = strtotime($v["dt_issue"]);
$datediff = $now - $your_date;
$daysDiff = round($datediff / (60 * 60 * 24));
$color = $daysDiff < 3 ? '#3C5F84' : ($daysDiff <= 6 ? 'orange' : 'red');
echo "<tr style=\"color:$color\" bgcolor=\"#F5F5F5\">";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["seal_area"]. "     ";
echo "</font>\n";
echo "</td>\n";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["seal_barcode"]. "     ";
echo "</font>\n";
echo "</td>\n";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["dt_issue"]. "     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["issue_admin"]. "     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["receive_by"]."     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["receive_id"]."     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["dt_return"]."     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["return_admin"]."     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["return_by"]. "     ";
echo "</font>\n";
echo "</td>";
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
echo "  " .$v["return_id"]."     ";
echo "</font>\n";
echo "</td>";
/*echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" >\n";
$now = time(); // or your date as well
$your_date = strtotime($v["dt_issue"]);
$datediff = $now - $your_date;
//echo round($datediff / (60 * 60 * 24));
//echo $datediff->format('%R%a days');
echo "  " .round($datediff / (60 * 60 * 24))."     ";
echo "</font>\n";
echo "</td>";*/
echo "<td nowrap ".$rowspan.">\n";
echo "<font face=\"arial\" size=\"1\" color=\"$color\">\n";
echo "  " .$daysDiff."     ";
echo "</font>\n";
echo "</td>";
echo "</tr>";
}