我需要基于时间和时差的行条件格式(背景)的解决方案,在48小时之前,84例如:如果单元格中的值是今天的日期和时间13:00/背景颜色=#ffffff如果单元格中的值是-48小时不同的颜色如果单元格中的值是-84不同的颜色。这是我的东西
<?php
$con = mysqli_connect("localhost", "test", "test");
if (!$con) {
die("Database Connection failed".mysqli_error());
} else {
$db_select = mysqli_select_db($con, 'test2');
if (!$db_select) {
die("Database selection failed".mysqli_error());
} else {
}
}
$records = mysqli_query($con, "SELECT * FROM test2 ORDER by user_Name");
$timenow = new DateTime();
?>
<!DOCTYPE html>
<html>
<body>
<table width="500" border="2" cellpadding="2" cellspacing='1'>
<tr bgcolor="#2ECCFA">
<th>User</th>
<th>Device</th>
<th>Last Contact</th>
</tr>
<?php
if ($records) {
while ($row = mysqli_fetch_assoc($records)) {
$calc = $timenow - $row['date'];
if ($calc > 12000) {
$rowClass = "oldOrder";
} else {
$rowClass = "normalOrder";
}
echo '<tr class="'.$rowClass.'"><td>';
echo $row['user_name'] . '';
echo '</td><td>';
echo $row['Device_ID'] . '';
echo '</td><td>';
echo $row['Last_Contact'] . '';
echo '</td></tr>';
}
}
?>
<a href=”rowClass.css” rel=”stylesheet” type=”text/css”>
</table>
db date中的字段是另一列,设置为datetime我不断得到错误
注意:在bla/bal行50中,类datetime的对象无法转换为int,该行是这一部分
while ($row = mysqli_fetch_assoc($records)) {
$calc = $timenow - $row['date'];
if ($calc > 3) {
$rowClass = "oldOrder";
} else {
$rowClass = "normalOrder";
2条答案
按热度按时间q3qa4bjr1#
你需要把苹果和苹果比较一下。如果mysql日期字段的类型为date/datetime,则可以将其作为参数传递给datetime,并比较对象:
tkclm6bt2#
您可以使用php中的time()函数和mysql中的unix\u time()函数将所有时间信息转换为unix time格式,并按以下方式工作: