目前我正在使用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那样的时间选择器,但我可以使用并禁用时间。我不想要一个时间选择器,我从一个间隔列表中选择默认时间。
所以请
更新
我的查询的一个更好的版本可能是使用INTERVAL而不是timediff,因为每个产品的持续时间都是几分钟,很少有持续时间以小时为单位,但大多数是几分钟。
我最初的想法是创建一个时间字段,用于检查可用性,就像您检查可用的用户名一样,在用户名字段中使用ajax,但不知道这是否可行。
答案 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插件和依赖项。