php - 使用 PHP 根据数据库条目突出显示表中的单元格

标签 php html mysql sql html-table

我正在尝试在我的网页上显示某种时间表。我需要使用 PHP 来突出显示表格单元格,具体取决于它们是否有今天日期的数据库条目。我目前有一张 table ,上面有房间,侧面有时间,如下所示:

echo "<table border-1>
    <tr>
        <th></th>
        <th>B-12</th>
        <th>G.05</th>
        <th>G.06</th>
        <th>1.04</th>
        <th>1.05</th>
        <th>1.06</th>
        <th>2.04</th>
        <th>2.05</th>
        <th>2.06</th>
        <th>3.04</th>
        <th>3.05</th>
        <th>3.06</th>
    </tr>

    <tr>
        <th>9.00</th>
        <td></td>
    </tr>
    <tr>
        <th>9.30</th>
        <td></td>
    </tr>
    <tr>
        <th>10.00</th>
        <td></td>
    </tr>
    <tr>
        <th>10.30</th>
        <td></td>
    </tr>";

我需要读取数据库中的条目,并根据条目日期在正确的房间列和正确的时间行中突出显示相应的单元格, like this

有没有办法在 PHP 中做到这一点?我这一切都错了吗?我是 PHP 新手,所以不完全确定实现我需要的最佳方法是什么。

我到处寻找解决方案,但没有找到能回答我问题的方法。如果有人有任何想法或可以建议我最好的方法,我将非常感激。

最佳答案

如果您的问题更多是关于如何与 mysql 交互或如何显示每个房间的占用率/可用性,我仍然有点困惑。

我认为是后者。我还假设您知道如何从 mysql 获取数据,并且您只需要一种显示占用率的方法。

<?php

$roomsAvailability = [
    '1' => ['9:30', '10:30'],
    '2' => ['10:00'],
    '3' => ['9:00', '11:00'],
];

$times = ['8:30', '9:00','9:30', '10:00', '10:30',  '11:00'];

?>
<style>
table, th, td {
    margin:5px;
    border: 1px solid black;
}
.available {
    background-color: lightblue;
}
</style>
<table>
    <tr><th>&nbsp;</th><th>g1</th><th>g2</th><th>g3</th></tr>
<?php

foreach($times as $time)
{?>
    <tr>
    <?php
        echo "<td>$time</td>";
        foreach($roomsAvailability as $roomNumber => $roomAvailability)
        {
            if(in_array($time , $roomAvailability))
            {
                echo "<td class='available'>&nbsp;</td>";
            }
            else{
                echo "<td class='notAvailable'>&nbsp;</td>";
            }
        }
    ?>
    </tr>
<?php
}

?>
</table>

在上面的脚本中,您可以看到我如何表示房间变量中的可用性(假设您从数据库中获取此数组)。此外,时间(例如业务/时段的时间)也在数据库中。

一般来说,在数据库中,您会拥有我从答案中跳过的关系和更复杂的东西。

该脚本会显示一个与您在问题中添加的表格类似的表格,其中分配的房间单元格以浅蓝色背景标记。

您可以在 PHP Fiddle 上复制并运行它查看输出。

请告诉我这是否是您正在寻找的内容

关于php - 使用 PHP 根据数据库条目突出显示表中的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34935764/

相关文章:

php - 如何编写 PHP 双重选择加入订阅表单

php - 如何计算净现值

javascript - echo 中的 location.href 不起作用

html - 页面最后一部分之前带有视口(viewport)底部的单个滚动捕捉点

javascript - CSS3 或 HTML5 - 我如何在 HTML5 页面中做一个像云彩漂浮的背景动画?

mysql - SQL查询连接两个表并过滤第一个表中的行而第二个表中没有相应的条目

javascript - "Load more comments"按钮 -> 如何指示数据库中没有更多条目?

php - 有没有办法用表格上传 youtube 视频?

php - 比较 2 个 MySQL 表并将新行移动到第二个表

javascript - 如何隐藏数据库中没有数据的部分