简易PHP日历

简易PHP日历,php,html,Php,Html,我想做一个简单的PHP日历。 例如: 但仅限一天,例如:6/26 我有: $hours = range(1, 24); 以及: 使用html表格显示此小时数: <table> <?php foreach($hours as $hour){ ?> <tr><td><?php echo $hour ?> </td></tr> <?php } ?> </table> 但是我不知道如何使

我想做一个简单的PHP日历。 例如: 但仅限一天,例如:6/26

我有:

$hours = range(1, 24);
以及:

使用html表格显示此小时数:

<table>
<?php foreach($hours as $hour){ ?>
  <tr><td><?php echo $hour ?> </td></tr> 
<?php } ?>
</table>

但是我不知道如何使用
$hours
$reservations
添加到我的foreach中。如果是预订,我想从6小时到8小时,从11小时到14小时,从6小时到8小时,从索引名显示文本,从11小时到14小时,从索引名显示文本。最好的方法是在本文中使用rowspan,但如何使用?

我会尝试设置一个“繁忙时间”数组,如下所示:

(编辑以包含文本)



谷歌日历的图像不符合
简单日历
。在一个特定的小时内,是否可以有多个活动,或者只是保留或不保留?您可能希望时间从0到23,而不是从1到24。在
foreach($hours as$hour)
中,您需要循环查看
$reservations
并检查预订是否与小时匹配,如果匹配,请添加
并使用HTML(或CSS)为背景着色。如果没有,您仍然需要一个emoty
$reservations = array(array('name' => 'first reservation for user Paul', 'from' => 6, 'to' => 8),
                     array('name' => 'second reservation for my group', 'from' => 11, 'to' => 14)  );
<?php 
$busyhours = array;
foreach ( $reservations as $reservation ) {
    $hours = $reservation['to'] - $reservation['from'];
    while ($hours) {
        $busyhours[] = $reservation['to'] + $hours;
        $hours--;
    }
    $busyhours[$reservation['to']] = $reservation['name']; //made the busy hour the key.
}
?>

<table>
    <?php foreach($hours as $hour){ ?>
        <tr><!-- changed in_array() to array_key_exists b/c of above change -->
            <td <?php if ( array_key_exists($hour, $busyhours) ) { echo "class='red-bg'"; } ?> >
                <?php 
                    echo $hour; 
                    echo "<p>" . $busyhours[$hour] . "</p>";
                ?> 
            </td>
        </tr> 
    <?php } ?>
</table>