如何根据日期禁用下拉选项

时间:2018-10-23 06:41:01

标签: javascript php jquery

我正在创建一个用于预订的工具,如果用户预订了一个时隙,则该选项应被其他用户禁用。 例如,我在下拉菜单中有上午9:00到1:00 PM和上午10:00到2:00 PM的时隙,并且还有一个日期选择字段。如果用户预订的日期为2018年10月24日,并选择9:00 AM至1:00 PM,则该时段应在下拉菜单中禁用,以便其他用户无法选择该时段。

<div class="col-md-10 offset-md-1">
    <div class="form-group">
        <input type="date" name="tool_date" class="form-control">
    </div>
</div>

<div class="col-md-10 offset-md-1">
    <div class="form-group">
        <h4>Service Timing Mon - Fri *</h4>

        <select class="form-control" name="tool_srvc_timing" style="height: 35px;">
          <?php
            include("db_connection.php");
            $query = "SELECT tool_time FROM main_tool";
            $result=mysqli_query($con,$query);
            while ($row = mysqli_fetch_array($result)) {
          ?>
          <option value="<?php echo $row['tool_time']; ?>">
              <?php echo $row['tool_time']; ?>
          </option>
          <?php } ?>
          <!-- <option value="">9:00 AM to 1:00 PM</option>
          <option value="">10:00 AM to 2:00 PM</option>
          <option value="">11:00 AM to 3:00 PM</option>
          <option value="">12:00 PM to 4:00 PM</option>
          <option value="">01:00 PM to 5:00 PM</option> -->
        </select>
    </div>
</div>

在上面的代码中,我使用输入type =“ date”进行日期选择并从数据库中获取时隙。 在数据库中,表ID和tool_time中只有两列。 请帮助我解决此问题以及我需要做些什么才能获得解决方案。我只是通过电子邮件将预订详细信息发送给用户和所有者。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

您要禁用下拉列表中的预订时间

如果在php标签内将echo应用于disabled,则需要检查<option>中是否已预定时间的条件

<select class="form-control" name="tool_srvc_timing" style="height: 35px;">
    <?php
    include("db_connection.php");
    $query = "SELECT tool_time FROM main_tool";
    $result=mysqli_query($con,$query);
    while ($row = mysqli_fetch_array($result)) {
    ?>
    <option <?php if($row['Booked_Column_Name']!="") echo "disabled"; ?> value="<?php echo $row['tool_time']; ?>">
        <?php echo $row['tool_time']; ?>
    </option>
    <?php } ?>
</select>

您需要替换Booked_Column_Name您的数据库列名称。

它看起来像这样:

<select class="form-control" name="tool_srvc_timing" style="height: 35px;">
    <option value="">9:00 AM to 1:00 PM</option>
    <option disabled value="">10:00 AM to 2:00 PM</option>
    <option value="">11:00 AM to 3:00 PM</option>
    <option disabled value="">12:00 PM to 4:00 PM</option>
    <option value="">01:00 PM to 5:00 PM</option>
</select>

答案 1 :(得分:0)

我找到了解决方案。 1.我创建了两个表。我有一个时间段,然后是第二张表以保存预订详细信息 2.我从第一个表中获取了时隙,以通过while循环显示下拉菜单,然后再次创建了第二个嵌套的while循环,以检查db中是否可用,然后禁用该选项,否则不进行。谢谢您的帮助,并对大家发表评论。