【问题标题】:booking system php mysql预约系统 php mysql
【发布时间】:2014-12-29 17:56:04
【问题描述】:

这是我需要的:

打印在特定时间段内有空的员工的ID,例如:from 28-12-2014 10:00 to 28-12-2014 11:00 根据这张照片,这些员工可能正在做一些在 BD 上的其他活动:Table of ongoing activities

我有什么:

目前我正在将这些日期与我需要的日期逐行进行比较,如下所示:

$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)时,它仍然会让我预订空间,因为一个两项正在进行的活动中的一项与请求的日期不重叠

我希望你能帮助我解决这个问题。谢谢

【问题讨论】:

    标签: php mysql database mysqli


    【解决方案1】:

    据我了解,您需要获取该表中的所有员工 ID,这些 ID 在一段时间内是免费的,

    使用between 怎么样?

    试试这个:

    select ID_Empleado FROM `Reservas` WHERE 
    (CAST('$date' AS DATETIME) NOT BETWEEN Inicio and Libre)
    AND 
    (CAST('$date2' AS DATETIME) NOT BETWEEN Inicio and Libre)
    

    $date$date2 是来自 $_POST[] 的值

    说明: 获取需要的开始日期和需要的结束日期不在活动的开始日期和结束日期之间的员工 ID

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-31
      • 2014-11-20
      • 2018-09-24
      • 1970-01-01
      相关资源
      最近更新 更多