簡體   English   中英

預訂系統php mysql

[英]booking system php mysql

這就是我需要的:

打印在特定時間段內有空的員工的ID,例如: from 28-12-2014 10:00 to 28-12-2014 11:00這些員工可能正在做一些其他活動,這些活動根據BD此圖: 正在進行的活動表

我有的:

目前,我正在逐行比較這些日期和我需要的日期:

$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 ...)時,一切正常,但是當有兩個或更多預訂(例如ID 2)時,我仍然可以預訂該空間,因為這兩個是其中之一正在進行的活動與請求的日期不重疊

希望您能幫到我。 謝謝

據我了解,您需要獲取該表中的所有員工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,該ID的開始日期和結束日期不在活動的開始日期和結束日期之間

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM