第一次提问,所以我会尽量保持重点。
我有一个记录员工出勤情况的系统- 表格:
<?php
$interval = "2 hours"
echo strtotime("+" . $interval)-time();
?>
-(ID,Payperiod,StartDate)tbl_Payperiod
-(RotaID,PayperodID,EmployeeID,MonDate,Monstarttime,Monfinishtime,TuesDate,Tuesstarttime等。)上面的代码也可以按我的意愿工作,因此我可以捕获工作日的不同版本,例如年假,疾病等。
使用PHP(PHPRUNNER)通过浏览器访问系统
问题:我需要做的是检查日期是否为公众假期。
我在excel的先前设置中做到了这一点(使用数组和查找),但是我不知道如何在MYSQL中对其进行测试
我可以创建一个表来保存假期日期,并手动对其进行更新。
那么我该如何在tbl_Rota
一旦我可以“标记”日期,然后就可以应用相应的工资率。 预先感谢您的协助
答案 0 :(得分:1)
将dayPH
与假期表左联接7次,一周中的每一天一次。然后根据连接是否成功将每个UPDATE tbl_Rota AS r
JOIN tbl_Holidays AS hMon ON r.MonDate = hMon.date
JOIN tbl_Holidays AS hTue ON r.TueDate = hTue.date
...
SET r.MonPH = hMon.date IS NOT NULL,
r.TuePH = hTue.date IS NOT NULL,
...
字段设置为true或false。
tbl_Rota
$(document).ready(function () {
$('.hasStartDate').datepicker({
dateFormat: "yy/mm/dd",
autoClose: true,
changeMonth: true,
changeYear: true,
minDate: '-1m',
maxDate: '+3m',
beforeShowDay: $.datepicker.noWeekends,
onSelect:function(date){
var d = date.split("/");
d = d.map(function(item){return parseInt(item)});
var mindate = new Date(d[0], d[1]-1, d[2]+1);
var maxdate = new Date(d[0], d[1]-1, d[2]+365);
$('.hasEndDate').datepicker('option','minDate',mindate);
$('.hasEndDate').datepicker('option','maxDate', maxdate);
}
});
$('.hasEndDate').datepicker({
dateFormat: "yy/mm/dd",
autoClose: true,
changeMonth: true,
changeYear: true,
beforeShowDay: $.datepicker.noWeekends
});
});
中一周的每一天都有单独的列,这确实使这变得复杂。如果每天都有单独的行,则可以对假期表进行单个左联接。
答案 1 :(得分:0)
标准化方法可能看起来像这样:
if any(k in theQuestion for k in (x-1, x/2))