0
这就是我需要:预订系统的PHP MySQL的
打印员工的ID谁在一定的时间跨度具有可用性,如:from 28-12-2014 10:00 to 28-12-2014 11:00
这些员工可能会做根据它们在BD一些其他活动到这样的画面:Table of ongoing activities
我有什么:
目前,我行通过这样的比较,这些日期VS的一个,我需要,排:
$sql_reservas="SELECT * FROM `Reservas` WHERE `ID_Empleado`= 2";
$result_reservas = mysqli_query($link,$sql_reservas);
if(mysqli_num_rows($result_reservas)>0){
foreach($result_reservas as $row_reservas) {
ongoing_start = new DateTime("{$row_reservas['Inicio']}"); //28-12-2014 11:45 then 28-12-2014 09:45
ongoing_finish = new DateTime("{$row_reservas['Libre']}"); //28-12-2014 13:45 then 28-12-2014 10:45
new_activity_start = $_POST['date'] //28-12-2014 10:00
new_activity_finish = $_POST['date2'] //28-12-2014 11:00
If(new_activity_start<ongoing_start && new_activity_finish<ongoing_start){
//I have space before the ongoing activities
echo $row_reservas['ID_Empleado'];
}elseif(new_activity_start>ongoing_finish && new_activity_finish>ongoing_finish) {
//I have space after the ongoing activities
echo $row_reservas['ID_Empleado'];
}else{
//overlaps with the compared one
echo "not available";
}}}
问题:
当只有一个预订(如ID 3或4或5 ...)一切正常,但当有2个或更多的预订(如与ID 2),它仍然会让我预订这个空间,因为两个正在进行的活动之一不会与请求的日期重叠
我希望你能帮助我解决这个问题。感谢