从mysql中禁用时间选择器

时间:2015-11-29 14:35:19

标签: javascript php jquery mysql

目前我正在使用html time picker,但不会介意使用Javascript / Jquery / Ajax。我试图解决的问题是:

您是客户,您从员工那里订购了x。 x有一个持续时间(start_time - end_time)。时间表格数据保存在$customer_time中。请注意,我必须将日期存储为varchar。但我的问题不在于约会,而在于时间。

我拥有的sql查询是这样的(如果可以,请随意使它更好)

SELECT employee_id, product_start_time, product_end_time, date FROM orders
WHERE NOT (
      employee_id ='$employee_id'
  AND res_date = '$res_date'
  AND $customer_time =TIMEDIFF ('product_start_time','product_end_time')

)

我想我写的timediff是正确的,如果不是,请纠正它,因为我之前从未使用它,这个想法是

$customer_time = start_time - end_time

无论如何,如果员工是免费的,那么客户可以继续预订,否则,应该禁用time_ picker字段。我需要像html那样的时间选择器,但我可以使用并禁用时间。我不想要一个时间选择器,我从一个间隔列表中选择默认时间。

所以请

  • 检查我的mysql查询是否正确
  • 推荐时间选择器
  • 高度赞赏植入示例

更新

我的查询的一个更好的版本可能是使用INTERVAL而不是timediff,因为每个产品的持续时间都是几分钟,很少有持续时间以小时为单位,但大多数是几分钟。

我最初的想法是创建一个时间字段,用于检查可用性,就像您检查可用的用户名一样,在用户名字段中使用ajax,但不知道这是否可行。

2 个答案:

答案 0 :(得分:2)

@Lynob这里是禁用时间的时间戳。你需要把更多的时间放在禁用的数组中,它会起作用。

var input = $('#input-a');
var dissabledTime = ["11:00", "12:00", "13:00", "14:00"];
input.clockpicker({
autoclose: true,
afterDone: function() {
   console.log(dissabledTime.indexOf($('#input-a').val()));
                       if(dissabledTime.indexOf($('#input-a').val()) != -1)
                         {
                           alert("My dear select other time i'm busy :)");
                           $('#input-a').val('');
                         }
                    },
});

以下是整个fiddle

此致

乔治

答案 1 :(得分:0)

假设你想说的话:

以日期格式将所选日期存储到mysql。查询时,检查每个用户的选定日期或您希望如何进行。然后以这种方式进行。

这将是每个会话。您必须将结果存储在数组中:

 var disableddates = ["02-14-2015", "05-19-2013", "12-20-2014", "another one"];


function DisableSpecificDates(date) {
    var string = jQuery.datepicker.formatDate('dd-mm-yy', date);
    return [disableddates.indexOf(string) == -1];
  }

您必须稍后调用datepicker函数。

    $(function() {
      $("#date").datepicker({
        beforeShowDay: DisableSpecificDates
      });
   });



   <!doctype html>
    <html>

    <head>
      <meta charset="UTF-8">
      <title>Tite</title>
   </head>
    <body>
      <input id="date" type="text">
    </body>
    </html>

您必须包含jquery datepicker插件和依赖项。