查找我的 sql 表中可用的日期范围 [重复]

Posted

技术标签:

【中文标题】查找我的 sql 表中可用的日期范围 [重复]【英文标题】:Find date range available in my sql table [duplicate] 【发布时间】:2016-09-10 10:45:50 【问题描述】:

我有两个输入一个是

<input type="text" data-date-format="dd-mm-yyyy" class="datepicker span11" name="start_date" placeholder="Check-In Date" />

其次是

<input type="text" data-date-format="dd-mm-yyyy" class="datepicker span11" name="end_date" placeholder="Check-Out Date" />

现在我的数据库有两个列,分别是“id、start_date、end_date” 它们的值分别为“1, 14-05-2016, 21-05-2016”

现在,当我选择表单输入框“15-05-2016”作为 start_date 和“17-05-2016”作为 end_date。然后我得到空结果。 我检查了sql中的查询,它显示正常。 然后我转储这个查询,它显示“SELECT * FROM room_inventory WHERE start_date >= '15-05-2016' AND end_date

没有出现错误。但也没有得到任何结果。

我试过了

 $start_date = $_POST['start_date'];
 $end_date = $_POST['end_date'];

 $checkAvailability = "SELECT * FROM room_inventory WHERE start_date >= '$start_date' AND end_date <= '$end_date' ";

 $resultAvailability = mysqli_query($con, $checkAvailability);
 $rowAvailability = mysqli_fetch_array($resultAvailability);
 rint_r($rowAvailability);

那么我怎样才能知道输入日期在这个数据库中是可用的。

【问题讨论】:

@jiml 不是重复的先生,我必须找到我的表单数据在数据库日期范围内是否可用......你可能不明白我想说什么。 你得到什么错误或查询输出? @jiml 先生。在那个问题中,他们在数据库中只有一个日期列,因此很容易找到。但我有两个日期列,所以我不知道如何在它们之间找到日期。 很高兴看到该数据库中的列名和至少一行。此外,您可以检查该字符串的外观(使用 print("SELECT rc_type ...."))以查看是否有任何语法错误。 @TimBiegeleisen 我得到空数据。我在 mysql 中尝试了这个显示空表的查询。并且没有错误出现先生。 【参考方案1】:

我认为查询中的问题...您可以通过打印查询文本来检查 我认为应该是:"SELECT rc_type FROM room_inventory WHERE start_date &gt;= ".$start_date." AND end_date &lt;= ".$end_date ." 我希望它会帮助你:)

【讨论】:

没有 sql 查询是正确的我检查了 mysql 像开始日期是 1 结束日期是 10 如果我有两个日期 3 作为开始和 6 作为结束。所以我能找到 3 和 6 在 1 和 10 之间吗?

以上是关于查找我的 sql 表中可用的日期范围 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 sql server 2008 中具有不同 TaskIds 的表中查找日期?

从 SQL 表中查找部分和完全重复

SQL获取最后一个日期时间记录[重复]

在 SQL 表中查找重复值

sql SQL查询使用单个值查找表中的重复项。

如何编写 SQL 查询以查找表中的重复项