gpt4 book ai didi

php - 没有任何时间重叠的预订

转载 作者:行者123 更新时间:2023-11-30 23:06:40 25 4
gpt4 key购买 nike

我正在编写 php 脚本来检查和分配可用的空闲插槽以保留某台机器。该表如下所示:

    machine      start_time    duration(mins)
1 11:00 30
1 12:00 40
1 13:00 30
1 14:00 40
2 11:00 10
2 12:10 30
2 13:00 10

当用户给出开始时间时,系统应该自动分配机器和用户可以使用的最大可能持续时间。在同一台机器上没有部分或全部重叠。

这是我试过的脚本的一部分:

    $time = $_POST['starttime'];
$duration = $_POST['duration'];

$query1 = "SELECT machine_id FROM machinetable";
$res1 = mysql_query($query1$query1,$conn);

while($row1 = mysql_fetch_array($res1)) {
$y = $row1['machine_id'];
$qry = "SELECT * FROM tableabove where machine_id = '$y' Order By start_time DESC";

$result = mysql_query($qry,$conn);
while($row = mysql_fetch_array($result)) {
// WHAT SHALL I ADD HERE.....JUST SOME HINT OR ANOTHER MEANS THAT HELPS
}
}

最佳答案

这是您要找的吗?

select machine_id, duration
from table t
where starttime = USERSTARTTIME
order by duration desc
limit 1;

这将返回机器和持续时间。然后您的 php 代码可以进行“预订”。

编辑:

试试这个:

select machine_id, duration - timediff(USERSTARTTIME, starttime) as durationForUser
from table t
where timediff(USERSTARTTIME, starttime) between 0 and duration
order by duration - timediff(USERSTARTTIME, starttime) desc
limit 1;

关于php - 没有任何时间重叠的预订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21586961/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com