从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插件和依赖项。