试图从数据库中生成php的动态下拉列表

时间:2016-10-26 06:35:14

标签: php

我有一个小问题,我想制作一个循环,所以我有一个包含数据的下拉菜单。例如:用户的开始时间为12:00:00,结束时间为14:00:00。该循环应该选择30分钟,因此您有一个下午菜单,分别是12:00:00,12:00,6:00:00,13:30和14:00:00。 我将获得以下数据

$scope.dateOptions = {
minDate: new Date() 
};

现在我想从它循环创建一个下拉菜单。 这是我的例子,我认为它会起作用。

$starttime = 12:00:00
$endtime = 14:00:00
$talktime = 00:30:00

但是,由于代码有效,我想检查数据库是否已存在数据。我知道如何做到这一部分只是我不知道的循环。

已经感谢你的帮助了。

3 个答案:

答案 0 :(得分:1)

<?php
    $starttime = new DateTime( '12:00:00' );
    $endtime   = new DateTime( '14:00:00' );
?>
<select>
<option></option>
<?php 
    for( $i = $starttime; $i <= $endtime; $i->modify( '+ 30 minutes' ) )
    {
?>
    <option> <?php echo $i->format( 'H:i' ); ?> </option>
<?php
    }
?>
</select>

每个循环增加30分钟。

答案 1 :(得分:0)

你可以试试这个

<?php
$starttime = new DateTime("12:00:00");
$endtime = new DateTime("14:00:00");
?>
<select name="" id="input" class="form-control" required="required">
<?php
while($starttime <= $endtime)
{

    echo "<option value='".$starttime->format('H:i:s')."'>".$starttime->format('H:i:s')."</option>";

    $starttime = date_add($starttime, date_interval_create_from_date_string('30 min'));
}
echo " </select>";

答案 2 :(得分:0)

试试这个

            <?php

            $starttime  = "12:00:00";
            $endtime = "14:30:00";

            $starttime = strtotime($starttime);
            $endtime = strtotime($endtime);
            $tNow = $starttime;

            while($tNow <= $endtime){
                echo date("H:i:s",$tNow)."<br>";
              $tNow = strtotime('+30 minutes',$tNow);
            }



            ?>