Php 需要一天中的最大和最小时间

Php 需要一天中的最大和最小时间,php,mysql,max,min,Php,Mysql,Max,Min,我有一些问题。 我希望能够获取所有事件的最小[最早](开始时间)和最大[最晚](结束时间),但是,我只想选择在以下日期发生的事件的最大值和最小值。。。。($date0_post)…[注意,我将重复这七次,以复制一周的样式…因此“+0天”最终将有一个函数,即“+1天”、“+2天”等] 下面是一个我认为可能会起作用的例子,但是,我确信我做得不对: $sql = "SELECT max(end_time), min(start_time) FROM events WHERE date='$date0_

我有一些问题。 我希望能够获取所有事件的最小[最早](开始时间)和最大[最晚](结束时间),但是,我只想选择在以下日期发生的事件的最大值和最小值。。。。($date0_post)…[注意,我将重复这七次,以复制一周的样式…因此“+0天”最终将有一个函数,即“+1天”、“+2天”等]

下面是一个我认为可能会起作用的例子,但是,我确信我做得不对:

$sql = "SELECT max(end_time), min(start_time) FROM events WHERE date='$date0_post' AND course='$courseid'";
$query = mysqli_query($db_conx, $sql);
while($row = mysqli_fetch_assoc($query)){
$event_min_start = $row["start_time"];    
$event_max_end = $row["end_time"];
}

另外,我有一个变量$coursetee\u open\u time\u mysql&$coursetee\u close\u time\u mysql…采用datetime格式(与获取最大值和最小值的格式相同)…下面是一个if语句,声明if:
当天任何活动的最小开始时间早于课程的开始时间,而当天任何活动的最大结束时间早于结束时间,然后
echo“因“$Closed\u原因而关闭”

if($event\u min\u start<$coursetee\u open\u time\u mysql&&$coursetee\u close\u time\u mysql<$event\u max\u end){
回显“因“$原因关闭”;
}否则{
回声“今天”;
}

我想得太多了,我把它修好了,把三次回迁变成了一次回迁……谢谢@hd1给我指引了正确的方向

$sql = "select reason, min(start_time) AS start_time, max(end_time) AS end_time FROM events WHERE date='$date_post' AND course='$courseid'";
$query = mysqli_query($db_conx, $sql);
while($row = mysqli_fetch_assoc($query)){
$event_max_end = $row["end_time"];
$event_min_start = $row["start_time"];
$event_reason = $row["reason"];
}

你为什么认为你做得不对?你得到了什么结果?你期望得到什么结果?If语句作为else Echo出现,我今天安排了一个活动,在开始时间之前和结束时间之后(作为测试),就像If语句被指示读取一样,它仍然给我else Echo,你有没有尝试
print_r()
使用
$event\u minu\u start
$event\u max\u end
$coursetee\u open\u time\u mysql
$coursetee\u close\u time\u mysql
查看您有哪些值?您是否直接在数据库中测试了查询?
if ($event_min_start < $coursetee_open_time_mysql && $coursetee_close_time_mysql < $event_max_end) {
echo '<option value="1" disabled>Closed for '.$closed_reason.'</option>';
} else {
echo '<option value="1">Today</option>';
}
$sql = "select reason, min(start_time) AS start_time, max(end_time) AS end_time FROM events WHERE date='$date_post' AND course='$courseid'";
$query = mysqli_query($db_conx, $sql);
while($row = mysqli_fetch_assoc($query)){
$event_max_end = $row["end_time"];
$event_min_start = $row["start_time"];
$event_reason = $row["reason"];
}