检查租金的可用性

时间:2012-05-20 14:39:39

标签: php mysql

我正在为自己的工作租用自行车制作脚本,但我不知道如何检查自行车在X期间的可用性

数据库看起来像:

CustomerID    BicycleID    FromDATE    TillDATE     
    43           12       2012-05-20  2012-05-23
    43           14       2012-05-20  2012-05-23
    44           12       2012-05-27  2012-05-30
    44           15       2012-05-27  2012-05-30

在我签订新的合同或预订或自行车可用一段时间之前,是否有可以运行的脚本?

对此的任何帮助都会很棒,谢谢!

3 个答案:

答案 0 :(得分:1)

如果这些是简单的固定期限租赁,那么从From和Till

之间的搜索可用性很简单
Select count(*) from hiresTable
where $From < TillDATE
and $Till > FromDATE

如果租约条款不固定,这不会准确,因为两名员工可能会在搜索范围内并排。

答案 1 :(得分:0)

请参阅Determine Whether Two Date Ranges Overlap

要测试两个时段是否重叠,请使用(StartDate1 <= EndDate2) and (StartDate2 <= EndDate1)

SELECT * FROM reservations WHERE ? <= TillDATE AND FromDATE <= ?

此查询中的第一个参数应该是新预订的开始日期,第二个参数应该是结束日期。

这将返回与新镜头碰撞的所有预订。

答案 2 :(得分:0)

我认为如果您可以以TIMESTAMPUNIX)格式存储日期,那么您可以轻松使用&gt; &LT; =运营商比较所需的租赁期和该自行车的不可用性。