从mysql中禁用时间选择器

目前我正在使用html 时间选择器 ,但不介意使用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在用户名字段中检查可用的用户名一样,不知道这是否可行。

@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(''); } }, }); 

这是整个小提琴

问候,

乔治

假设你想说的话:

以日期格式将所选日期存储到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 }); });     Tite      

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