增加数量X次数(和打印)

时间:2016-07-07 14:12:14

标签: php

我正在预订form,一旦选择了日期,就会显示可用时间。我有一个问题,从下拉框中隐藏一些可用的时间,并希望得到一些帮助。

目前,如果在同一天预订了此开始时间,我可以成功隐藏可用时间。例如:

  

预订时间为10:00至16:00。如果有预订   11:00进行1小时,下列时间将显示在下拉框中:   
10:00   
12:00   
13:00   
14:00   
15:00   
16:00

我现在的问题是预订时间超过1小时。如果预订2小时,我想隐藏可用时间。例如:

  

预订在11:00进行2小时。这将删除11:00和   从可用时间12:00开始。以下时间将显示在下拉框中:   
10:00   
13:00   
14:00   
15:00   
16:00

实现这一目标的最佳方法是什么?我目前正在存储开始时间&数据库中的总小时数很奇怪,如果一个循环可以在开始时间加1小时,直到它达到相同的总小时数。

1 个答案:

答案 0 :(得分:1)

在不了解您的代码或数据结构的情况下,这是我能为您做的最好的

<?php

//these would be the appointments stored on the DB
$results = array(
    array(
        'apt_date' => '2016-06-01',
        'apt_time' => '10',
        'apt_duration' => 2
    ), array(
        'apt_date' => '2016-06-01',
        'apt_time' => '14',
        'apt_duration' => 1
    )
);

for ($i = 10; $i <= 16; $i++) {
    $ok = true;
    foreach ($results as $item) {
        if (($i == $item['apt_time'])) {
            $ok = false;
           if($item['apt_duration'] > 1){
            $i = $i +$item['apt_duration'];
           }
        }
    }
    if($ok){
        echo $i . ':00';
        echo '</br>';
    }
}