数据库中的PHP下拉列表-如何按日期将选择限制为8个

时间:2019-02-27 03:01:26

标签: php mysql ajax

我正在做两种选择的水疗网站预订系统。我正在尝试做的事,但是没用:选择日期后,下拉列表中的选择将受到限制,因为该日期每天只能选择8个值。

第一次选择[输入] :包含date [yyyy-mm-dd] date(单击 HTML 的链接)

    <div class='pt-2'>
      <div class='dates'>                
        <input type='text' autocomplete='off' class='form-control' placeholder='Treatment date' id="reservation_date" required style='background: none; border: none; border-bottom: 1px solid black;'/>
      </div>

第二选择[下拉列表] :包含treatment数据库中的treatment列表(单击 HTML 的链接)

    <div class='pt-3'>
        <select id="treatment_name" style='width: 100%; background: none; border: none; border-bottom: 1px solid black; font-style: italic; color: #4E4E4E;  font-family: "Helvetica Neue", "Arial"; opacity: 0.8'>
        <option>Treatment Name</option>
      </select>
    </div>

Php代码

$query = mysqli_query($connect, "SELECT * FROM treatments ");

if($query){
        while ($row=mysqli_fetch_assoc($query)){

            echo '<option value="'.$row['t_name'].'">'.$row['t_name'].'  </option>';
            }
    }
    else 
        echo "error";

谁能知道如何基于treatment来限制date?在有条件的情况下,允许用户每天(日期)仅预订8个插槽的治疗。我的意思是设置一个条件,即在一个特定的treatment中只能选择date 8次。

我在这里的problem是当用户选择treatment大于8时,它将自动displaying messages“由于您选择的日期已经满,请选择另一个日期进行预订。谢谢。”在点击提交之前。

    //submit form
    $("#submit").click(function(){
      var customer_id= $("#customer_id").val();
      var reservation_date= $("#reservation_date").val(); 
      var reservation_time= $("#reservation_time").val();
      var treatment_name= $("#treatment_name").val();
      var reservation_status_id= $("#reservation_status_id").val();
      var blood_thinning= $("#blood_thinning").val();
      var herbs= $("#herbs").val();
      var others= $("#others").val();
      var infection= $("#infection").val();
      var menses= $("#menses").val();
      var pregnant= $("#pregnant").val();


    $.ajax({
      type: "POST",crossDomain: true, cache: false,
      url: "booking_process.php",
      data: {customer_id:customer_id,reservation_date:reservation_date,reservation_time:reservation_time,treatment_name:treatment_name,reservation_status_id:reservation_status_id,blood_thinning:blood_thinning,herbs:herbs,others:others,infection:infection,menses:menses,pregnant:pregnant},
      success: function(data){
        alert(data);
        $('#add_booking')[0].reset();
      }//data
    });//ajax
  });//submit

任何高级成员可以指导我如何实现吗? 任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

第一个下拉列表不是下拉列表,而是文本输入。我的答案是基于您具有日期列表的。 制作另一个表,如date_limit或类似的东西,并在数据库中指定特定日期的限制(我不知道您的限制以什么方式工作,所以我不确定做到这一点的最佳方法。 当您生成日期选择列表时,会将该值附加到选择值。

<option value="dd/mm/Y" data-limit="4">dd/mm/Y</options>

然后在第二个下拉菜单中继续检查选择了多少个值,第一个设置的限制是什么。

如果要使用文本输入作为日期,则基本上可以执行相同的操作,但是您需要对每个用户日期输入发送查询,并获取输入日期的限制。