显示从MySQL开始和结束的时间间隔

时间:2018-12-23 06:41:08

标签: php mysql

大家好,我需要在这里提供帮助,以下是可用时隙的图片。 Timeslot to add 单击添加时,它仅显示为7.30AM-8.30AM,如下所示image

我如何在时间7.30AM-8.30AM之间添加一个间隔为20分钟的时隙。 因此输出将类似于数组

7.30-7.50

7.50-8.10

8.10-8.30

这是我到目前为止所做的,

    <?php
            include('../dist/includes/dbcon.php');
            $timeslot=$_REQUEST['id'];
            $query=mysqli_query($con,"select * from time where days='mwf' and time_id = 4 order by time_start")or die(mysqli_error());

            while($row=mysqli_fetch_array($query)){
                    $id=$row['time_id'];
                    $start=date("h:i a",strtotime($row['time_start']));
                    $end=date("h:i a",strtotime($row['time_end']));

    ?>

                          <tr >

                            <td><?php echo $start."-".$end;?></td>
                            <td><input type="checkbox" id="check" name="m[]" value="<?php echo $id;?>" style="width: 20px; height: 20px;"></td>
                            <td><input type="checkbox" id="check" name="w[]" value="<?php echo $id;?>" style="width: 20px; height: 20px;"></td>
                            <td><input type="checkbox" id="check" name="f[]" value="<?php echo $id;?>" style="width: 20px; height: 20px;"></td>

                          </tr>

我试图实现类似这样的代码。

function SplitTime($StartTime, $EndTime, $Duration="60"){
    $ReturnArray = array ();// Define output
    $StartTime    = strtotime ($StartTime); //Get Timestamp
    $EndTime      = strtotime ($EndTime); //Get Timestamp

    $AddMins  = $Duration * 60;

    while ($StartTime <= $EndTime) //Run loop
    {
        $ReturnArray[] = date ("G:i", $StartTime);
        $StartTime += $AddMins; //Endtime check
    }
    return $ReturnArray; }

//Calling the function $Data = SplitTime("2018-05-12 12:15", "2018-05-12 15:30", "60"); echo "<pre>"; print_r($Data); echo "<pre>";

但是似乎必须手动配置时间开始和时间结束。

0 个答案:

没有答案