Php 查看是否有租房
我正在为我的工作编写一个脚本来租自行车,但我不知道如何在X时期检查自行车的供应情况 数据库看起来像:Php 查看是否有租房,php,mysql,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
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
在我签订新合同或预定要检查的房间或自行车在一段时间内可用之前,是否有脚本可以运行
这方面的任何帮助都会很好,谢谢 见:
要测试两个周期是否重叠,请使用
(StartDate1我认为如果您可以以()格式存储日期,那么您可以很容易地使用><=操作员来比较所需的租赁周期和该自行车的不可用性。如果这些是简单的定期租赁,则很容易在“从”和“到”之间搜索可用性
Select count(*) from hiresTable
where $From < TillDATE
and $Till > FromDATE
从hiresTable中选择计数(*)
其中$FromFromDATE
如果租赁条款不固定,这将不准确,因为两名员工可能在搜索范围内并排出现。Fyi,这是bicycle
,而不是bycicle
。请尽快修复此问题,否则以后处理您代码的人会因为您必须小心故意打字而讨厌您。存储UNIX tim的可能重复在具有DATE
类型的数据库中设置时间戳是一个坏主意(尽管这在PHP世界中非常常见,因为几乎每个PHP应用程序都在内部使用unix时间戳)。@ThiefMaster~谢谢,如果您能解释为什么这是一个坏主意,我会很感兴趣。:)您无法使用MySQL提供的所有时间戳。这通常会导致人们使用PHP重新实现它们,即使这完全可以在数据库中完成。最常见的是WHERE col<'(time()-86400)
等。正如您提到的,各种PHP应用程序将日期存储在UNIX时间戳中,并使用它们自己的函数来处理时间和日期。我可以使用date
还是应该使用timestamp
?任何类型的当我使用此sql时,都会返回一个错误:“从预订
哪里选择*?使用PDO准备语句时,只能使用?
。
Select count(*) from hiresTable
where $From < TillDATE
and $Till > FromDATE