Php 如果给定时间等于或高于当前时间,尝试更改表的颜色

Php 如果给定时间等于或高于当前时间,尝试更改表的颜色,php,html,css,Php,Html,Css,我有一个表格,你可以在给定的时间输入,例如12:30 默认情况下,表格颜色为蓝色,但如果当前实时时间为12:30或以上(例如:12:40),我希望它更改颜色 我需要从数据库中获取给定的时间(已管理该时间),但下一部分是获取当前时间,如果它等于或高于输入时间,则更改整个表的颜色 (Inntid是您键入自己时间的值) HTML: PHP: $sok=@$_POST['search']; $sql=“从utleie中选择utleid、inntid、baatnr、fornavn、etternavn、ti

我有一个表格,你可以在给定的时间输入,例如12:30

默认情况下,表格颜色为蓝色,但如果当前实时时间为12:30或以上(例如:12:40),我希望它更改颜色

我需要从数据库中获取给定的时间(已管理该时间),但下一部分是获取当前时间,如果它等于或高于输入时间,则更改整个表的颜色

(Inntid是您键入自己时间的值)

HTML:

PHP:

$sok=@$_POST['search'];
$sql=“从utleie中选择utleid、inntid、baatnr、fornavn、etternavn、tid、kr,其中baatinn='0'按id说明排序”;
$result=$conn->query($sql);
如果($result->num_rows>0){
而($row=$result->fetch_assoc()){
“回声”。
$row[“utleid”]。“”。
$row[“inntid”]。“”。
$row[“baatnr”]。“”。
$row[“fornavn”]。“”。
$row[“etternavn”]。“”。
$row[“tid”]。“”。
$row[“kr”]。“”;
}
回声“;
}
否则{
回显“0结果”;
}
echo$行;
$conn->close();
?>

如果条件为真,则将CSS类定义为您希望的任何类型,然后检查
$row['tid']
的时间是否等于或高于当前日期-如果为真,则将该类添加到
td
元素中

CSS将类似于

.future_time {
    background-color: red;
}
你的PHP应该是这样的

<?php 
$sok = @$_POST['searchh'];
$sql = "SELECT utleid, inntid, baatnr, fornavn, etternavn, tid, kr FROM utleie WHERE baatinn = '0' ORDER BY id desc";

$result = $conn-> query($sql);


if ($result-> num_rows > 0) {
    echo '<table>';
    $now = new DateTime();
    while ($row = $result-> fetch_assoc()) {
        $tid = new DateTime($row["tid"]);
        $tid_class = $tid >= $now ? 'future_time' : '';
        ?>
        <tr>
            <td><?php echo $row["utleid"]; ?></td>
            <td><?php echo $row["inntid"]; ?></td>
            <td><?php echo $row["baatnr"]; ?></td>
            <td><?php echo $row["fornavn"]; ?></td>
            <td><?php echo $row["etternavn"]; ?></td>
            <td class="<?php echo $tid_class; ?>"><?php echo $tid ?></td>
            <td><?php echo $row["kr"]; ?></td>
        </tr>
        <?php 
    }
    echo "</table>";
} else {
    echo "0 results";
}
$conn-> close();


你试过使用JavaScript吗?我想那是你的方式我发现我必须使用javascript。尝试了一些东西,但彻底失败了:PYou不需要JS。使用PHP可以将类设置为页面加载,而不依赖于加载后呈现表的部分。我要说的是,在PHP中加载结果时,使用JS比使用JS更重要。嗯,似乎不起作用。可能是因为DateTime()获取的值比小时和分钟多。还是我错了?
DateTIme
类非常聪明。
$row['tid']
的实际值是多少,格式是什么?当你说“似乎不起作用”时,你需要更具体一点。发生了什么,是否出现了任何错误(如果没有,您是否正在检查并记录它们?)。我回家后再查一下。正如你从中看到的,DateTime非常聪明,它会发现你只给了它几次(默认日期为1970年1月1日,但这无关紧要)。显示你的错误,没有它就无法帮助…-)
$sok = @$_POST['searchh'];
$sql = "SELECT utleid, inntid, baatnr, fornavn, etternavn, tid, kr FROM     utleie WHERE baatinn = '0' ORDER BY id desc";

$result = $conn-> query($sql);


if ($result-> num_rows > 0) {
    while ($row = $result-> fetch_assoc()) {
        echo "<tr><td>". 
        $row["utleid"] ."</td><td>".
        $row["inntid"] ."</td><td>".
        $row["baatnr"] ."</td><td>". 
        $row["fornavn"] ."</td><td>". 
        $row["etternavn"] ."</td><td>". 
        $row["tid"] ."</td><td>".
        $row["kr"] ."</td></tr>"; 
    }
echo "</table>";
}
else {
    echo "0 results";
}

echo $row;

$conn-> close();

?>

</table>
.future_time {
    background-color: red;
}
<?php 
$sok = @$_POST['searchh'];
$sql = "SELECT utleid, inntid, baatnr, fornavn, etternavn, tid, kr FROM utleie WHERE baatinn = '0' ORDER BY id desc";

$result = $conn-> query($sql);


if ($result-> num_rows > 0) {
    echo '<table>';
    $now = new DateTime();
    while ($row = $result-> fetch_assoc()) {
        $tid = new DateTime($row["tid"]);
        $tid_class = $tid >= $now ? 'future_time' : '';
        ?>
        <tr>
            <td><?php echo $row["utleid"]; ?></td>
            <td><?php echo $row["inntid"]; ?></td>
            <td><?php echo $row["baatnr"]; ?></td>
            <td><?php echo $row["fornavn"]; ?></td>
            <td><?php echo $row["etternavn"]; ?></td>
            <td class="<?php echo $tid_class; ?>"><?php echo $tid ?></td>
            <td><?php echo $row["kr"]; ?></td>
        </tr>
        <?php 
    }
    echo "</table>";
} else {
    echo "0 results";
}
$conn-> close();