我正在做一个需要找到可用单位的项目。相关信息是这样的:
包含字段 id、name、owner、addr、active(boolean)、booked(boolean) 的单位表
带有字段 id、unit(绑定到 unit.id)、guest、price、arrival_date、depart_date、checkin(boolean)、checkout(boolean)、cleaned(boolean) 字段的预订表
用户选择到达日期和出发日期。从那我需要建立一个可用单位的列表。我很难从逻辑上思考这个问题。我在 PHP 中这样做,到目前为止有这个:
$con = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);
//get date
$arrival = '2013-10-1'; //$_POST['arrival'];
$depart = '2013-10-1'; //$_POST['depart'];
//define arrays
$a = array();
$d = array();
$result = mysqli_query($con, "SELECT arrival, departure FROM reservations WHERE arrival > '".$depart."'");
$i=0;
while( $row = mysqli_fetch_assoc($result))
{
$a[] = $row['arrival'];
$d[] = $row['departure'];
echo ' ('.$i.') ';
echo $a[$i];
echo ' ';
echo $d[$i];
$i++;
}
这会产生我想要的东西(出发日期必须在其他人到达之前。
我也知道不能在逗留期间抵达。
谁能帮我解决这个问题?真的让我难过。我什至不一定需要看代码;一个伪代码甚至会受到赞赏。