如何突出显示php表中的行?

时间:2015-05-19 12:17:31

标签: php html mysql

我有一张名为预订的表。它显示用户进行的预订。我希望使用结束日期在当前日期突出显示记录。

Php代码

$result2 = mysql_query("SELECT * FROM reservations WHERE hotel_id = '1' ORDER BY end");                         
while ($row = mysql_fetch_array($result2)) {

    echo '<tr>';
    echo '<td class="contacts">' . $row['fname'] . ' ' . $row['lname'] . '</td>';
    echo '<td class="contacts">' . $row['start'] . '</td>';
    echo '<td class="contacts">' . $row['end'] . '</td>';
    echo '<td class="contacts">' . $row['qty'] . '</td>';

    echo '</td>';
    echo '<td class="contacts">' . $row['room_type'] . '</td>';
    echo '<td class="contacts">' . '<a href=out.php?id=' . $row["res_id"] . '>' . 'Check Out' . '</a>' . '</td>';
    echo '</tr>';
}

2 个答案:

答案 0 :(得分:0)

我在前端这样做,但是如果你想计算比PHP,你需要比较$ row和当前日期的日期,并添加一个类或样式标签。

像这样:

$rowHasCurrentDate = $row['date'] == date('Y-m-d'); echo '<tr' + ($rowHasCurrentDate ? ' class="highlight-row"' : "") + '>';

而不是

echo '<tr>';

您可以替换&#39; class =&#34; highlight-row&#34;&#39;使用&#39; style =&#34; background-color:red&#34;&#39;如果你想在不触及前端的情况下这样做的话。

这个例子有点像意大利面条代码,但是你可以在它运行之后将这个逻辑移到其他地方。

答案 1 :(得分:0)

我假设您的开始日期是当前日期。这是css的事情,我给你解决了。

<html>

<head>
<style>
.currdate
{
    background-color:red; //change this color to whatever you wish to change to 
}
</style>
</head>
<body>
<?php
$result2 = mysql_query("SELECT * FROM reservations WHERE hotel_id = '1' ORDER BY end");                         
while ($row = mysql_fetch_array($result2)) {

    echo '<tr>';
    echo '<td class="contacts">' . $row['fname'] . ' ' . $row['lname'] . '</td>';
    echo '<td class="contacts currdate">' . $row['start'] . '</td>';
    echo '<td class="contacts">' . $row['end'] . '</td>';
    echo '<td class="contacts">' . $row['qty'] . '</td>';

    echo '</td>';
    echo '<td class="contacts">' . $row['room_type'] . '</td>';
    echo '<td class="contacts">' . '<a href=out.php?id=' . $row["res_id"] . '>' . 'Check Out' . '</a>' . '</td>';
    echo '</tr>';
}
?>
<body>

</html>