php - 需要一天中的最长和最短时间

标签 php mysql max min

我遇到了一些问题。 我希望能够获取所有事件放在一起的最小[最早](start_time)和最大[最新](end_time) ,但是,我只想选择下面日期发生的事件的最大值和最小值...($date0_post)...[注意,我将重复此七次,以复制一周的风格...所以“+0天”最终将具有一个功能,即:“+1天”,“+2天”等]

$date0 = strtotime("+0 day");
$date0_post = date('Y-m-d', $date0);

下面是我认为它可能如何工作的示例,但是,我确信我做错了:

$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_open_time_mysql$coursetee_close_time_mysql ...采用日期时间格式(与获取这些最大值和最小值的格式相同)...下面是一个 if 语句,声明 if:
当天任何事件的最短开始时间早于类(class)的开放时间,且当天任何事件的最晚结束时间晚于结束时间,则 echo '<option value="1" disabled>Closed for '.$closed_reason.'</option>';

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>';
}

最佳答案

我想得太多了,我修复了它,并将三个提取变成一个...感谢@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"];
}

关于php - 需要一天中的最长和最短时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17635567/

相关文章:

php - 什么是标准化的 UTF-8?

php - 使用 %CC%88 解码字符串 - 使用 PHP 编码?

javascript - 执行完前面的代码后,如何在 JavaScript 函数中调用另一个 JavaScript 函数?

php - 如何更新重复键上的多列

java - 使用 Java 8 lambda 表达式,按内部列表的属性过滤对象列表

php - ImageMagick thumbnailImage 超过 30 秒的最大执行时间

javascript - 在 [FINE UPLOADER] 中显示以前上传的图像

php - 如何使用准备好的语句从 mysql 获取多行

java - 使用 Mule ESB 解析 MySQL 存储过程结果集

javascript - 为什么我的函数在尝试从数组返回最大数字时返回未定义?