PHP 2 个日期之间

标签 php mysql

你好,我试图从 mysql 选择结果日期
我的表:

id_room | check_in | check_out


问题是当我想检查日期 1 到日期 2 之间的保留数据时。
例如我的房间数据:

id_room : 1 ; check_in : 2014/11/01 ; check_out : 2014/11/08

所以我想检查我的预订,2014/11/03 和 2014/11/04。在系统中不会有结果,这意味着该日期没有预订,但在实际生活中 2014/11/03 和 2014/11/04 必须已预订。因为我在 2014/11/01 check_in 并在 2014/11/08 check_out。

我正在使用

SELECT * FROM tabel WHERE cek_in BETWEEN '2014/11/03' AND '2014/11/04' OR cek_out BETWEEN 2014/11/03' AND '2014/11/04'

所以如果有任何线索或其他逻辑,请告诉我:D 谢谢

最佳答案

如果我理解正确的话;这是一个典型的问题,您想要包含重叠日期的预订:

SELECT * 
  FROM table1
 WHERE cek_out >= '2014-11-03' /* Check OUT >= START of range to check */
   AND cek_in  <= '2014-11-05' /* Check IN  <=  END  of range to check */;

更新

因此,您正在运行上面的查询,并且房间已有预订

cek_in  = '2014-11-01' (<= '2014-11-05') /* OK */
cek_out = '2014-11-05' (>= '2014-11-03') /* OK */

这应该会出现,您确定您编写了正确的查询吗?查看评论。

关于PHP 2 个日期之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27128973/

相关文章:

php - 从具有多个 ID 的同一个 Mysql 列中获取数据

mysql - 如何通过在 SQL 中添加第一列中的值来创建第二列?

php - mysql_result() 无法找到 rsource

php - 在 laravel 中创建带有额外列的数据透视迁移

php - Azure php webrole 部署时出现随机错误 500

php - 如何从 $_POST 获取键值?

mysql - MariaDB 10.0,innodb : Conditional Unique Constraint?

MYSQL 匹配具有多个 id 的同一个表中的多行

php - EasyApache 更新后 mysql_connect 不起作用

php - 如何在数据库显示的数据旁边放置复选框 - PHP、SQL