php - 租车 - 如何检查两个日期之间是否有车可用?

标签 php html mysql date

我正在做一个租车网站,可以在给定的时间段内预订汽车。例如,在 01.01.2011 - 10.01.2011 和 15.01.2011 - 25.01.2011 之间预订了一辆车。 (dd.mm.yyyy)

所以这辆车在 11.01.2011 - 14.01.2011 之间可用。

我应该如何保存预订记录?如果我创建一个名为 'reservations' 的表并为 'carID' 'startDate' 'endDate' 创建列,我如何检查汽车在两个日期之间是否完全可用?或者我应该如何创建预订表?

最佳答案

我会使用时间戳来做到这一点。我知道 MySQL 内置了 DATETIME 字段类型,但我通常更喜欢使用时间戳。不管怎样,这就是我的处理方式

车辆表:

id | name 
---------
1  | Ford Mustang

预订表:

id | vehicle_id | start_time | end_time
----------------------------------------
1  | 1          | 130500040  | 130599304

其中 start_time 和 end_time 是 UNIX 时间戳。

然后,当您想查看某个日期是否有汽车(根据哪辆汽车更改查询中的 vehicle_id)时:

$start_date = strtotime($start_date);
$end_date = strtotime($end_date);
$query =  mysql_query("SELECT * FROM `reservations` WHERE `vehicle_id`=1 AND (`start_date`>".$start_date." AND `end_date`<".$end_date.") OR (`start_date`<".$start_date." AND `end_date`>".$end_date.") OR (`start_date<".$end_date." AND `end_date`>".$end_date.") OR (`start_date`<".$start_date." AND `end_date`>".$start_date.")");

if (mysql_num_rows()<1)
{
   echo "The vehicle is available";
}

关于php - 租车 - 如何检查两个日期之间是否有车可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6138548/

相关文章:

mysql - 如果不存在...插入

mysql - 数据库设计: I want to store the type of a house (apartment,别墅、工作室等..)

mySQL 查询中的 PHP 数组 : "Unknown column"

html - CSS 完全用颜色填充 div

MySQL/MariaDB 固定长度的唯一 BLOB

php - file_get_contents() 给我 403 Forbidden

html - 从组底部使用 CSS 旋转 SVG

php - 数据未插入数据库到表中

javascript - 将具有路径作为值的 php 变量传递给 javascript

php - ZF2 : Groups of modules