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

时间:2013-07-30 12:20:00

标签: php mysql sql select pdo

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

但是,我也希望使用end字段,并检查$selected日期是否在startend之间,而不仅仅是等于start就像现在一样。

示例:start:2013-07-28,end: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']; 
}

1 个答案:

答案 0 :(得分:4)

您可以使用BETWEEN或:< end time> start time。试试这个

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