php - 如何检查所选日期是否在开始和结束之间?

标签 php mysql sql select pdo

<分区>

当日期 start$selected 相同时,以下查询显示事件的 name。 “删除”时间后格式为 2013-07-30

但是,我也想使用 end 字段,并检查 $selected 日期是否在 start 之间>end 而不仅仅是当它等于 start 时才如此。

示例:开始:2013-07-28,结束:2013-07-31,$selected = 2013-07-30

$selected 位于startend 之间,因此可以显示名称(和其他信息)。

$sh = $db->prepare('SELECT * FROM events WHERE DATE(`start`) = DATE(:start)');
$sh->bindValue(":start", $selected);
$sh->execute();

while($row1 = $sh->fetch(PDO::FETCH_ASSOC)) {
echo $row1['name']; 
}

最佳答案

你可以使用BETWEEN或:< end time> start time .试试这个

   SELECT * FROM events WHERE  DATE(:start) Between DATE(`start`) and DATE(`end`)

关于php - 如何检查所选日期是否在开始和结束之间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946874/

相关文章:

javascript - JS不要将POST请求中的数据传递给php文件,否则php无法接收

mysql - 如何将左外连接查询转换为子集查询

SQL select查询根据最接近的非空值填充空值

mysql - 从多列中选择多行作为一列

sql - 在具有多列的单行中显示来自多行的数据

php - 哪里喜欢在 php 中查询多维数组

php - Laravel 安装 "Your requirements could not be resolved to an installable set of packages."

mysql - 计划加入多个表

php - 插件 API 出了点问题

php - Mysql 查询需要一对多关系来进行匹配搜索