Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与PHP时间范围组be id斗争-开始时间,结束时间。求求你,救命!_Php_Sql_Mysql_Aggregate Functions - Fatal编程技术网

与PHP时间范围组be id斗争-开始时间,结束时间。求求你,救命!

与PHP时间范围组be id斗争-开始时间,结束时间。求求你,救命!,php,sql,mysql,aggregate-functions,Php,Sql,Mysql,Aggregate Functions,抱歉再次打扰。我以前发过这个帖子,得到了一个叫Trix的了不起的家伙的帮助,但我想他放弃了我…:( 问题:我有一个ID为的时间列表,我想在ID中循环这些时间以获得开始时间和结束时间。这是一个示例: time_id time_duration 1 2010-10-15 11:15:00 1 2010-10-15 11:20:00 1 2010-10-15 11:25:00 1 2010-10-15 11:30:00 2

抱歉再次打扰。我以前发过这个帖子,得到了一个叫Trix的了不起的家伙的帮助,但我想他放弃了我…:(

问题:我有一个ID为的时间列表,我想在ID中循环这些时间以获得开始时间和结束时间。这是一个示例:

time_id           time_duration

 1       2010-10-15 11:15:00
 1       2010-10-15 11:20:00
 1       2010-10-15 11:25:00
 1       2010-10-15 11:30:00
 2       2010-10-15 11:35:00
 2       2010-10-15 11:40:00
 2       2010-10-15 11:45:00
 2       2010-10-15 11:50:00
 2       2010-10-15 11:55:00
 3       2010-10-15 12:00:00
 3       2010-10-15 12:05:00
 4       2010-10-15 12:10:00
 5       2010-10-15 12:15:00
 5       2010-10-15 12:20:00
 5       2010-10-15 12:25:00
因此,此操作的结果应为echo(注意,持续时间已按时间\u id分组):

这就是我得到的…特里克斯和克罗津帮了我很多

 $dates = mysql_query("SELECT time_id, time_duration FROM time_table' GROUP BY time_id"); 
 while($raw = mysql_fetch_array($dates)){ 
 $time= $raw['time_duration']; 
 $min_time = min(TIME_FORMAT(time_duration,'%h:%i:%s'));
 }
 echo $min_time;
你能帮我一下吗?我真的很挣扎!!!

使用:

$dates = mysql_query("SELECT t.time_id,
                             DATE_FORMAT(MIN(t.time_duration), '%H:%i') AS min_time,
                             DATE_FORMAT(MAX(t.time_duration), '%H:%i') AS max_time
                        FROM TIME_TABLE t
                    GROUP BY t.time_id"); 

while($raw = mysql_fetch_array($dates)) { 
  echo "time_id $raw['time_id']: Start $raw['min_time'] - End $raw['max_time']";
}

OMG Ponies有一个很好的建议,它可以完成sql查询中的几乎所有操作。我不知道您是否倾向于使用PHP进行逻辑处理,因为您不知道/不习惯使用更复杂的sql,或者您是否出于某种原因希望在PHP中做更多的工作

您的PHP似乎遵循了大部分正确的想法,但这一行充满了问题

$min_time=min(时间格式(时间持续时间,%h:%i:%s))

一分钟一个文字参数?需要给它一个数组或两个或多个文字。
第二:您使用的时间格式不正确

echo TIME_格式('2010-10-15 11:15:00','%h:%m:%s');//运行时崩溃

第三:time_duration是一个$raw的索引,是您的响应行。这不是一个可接受的参数。也许您是想把$time放在那里


我喜欢使用UNIX时间戳(长整数,用于存储年份、秒以及两者之间的所有内容)并在显示之前对其进行格式化,您可能会发现这对实现此目的非常有用。请查看函数并了解其相关内容。这将使您的比较变得简单,无需担心,而且您可以在显示之前根据需要对其进行格式化(或以英文)回声。

我一直收到恼人的错误消息,而且越来越令人沮丧!!我讨厌PHP这些恼人的错误消息是用来帮助你调试问题的。当包含在SOYes上的问题中时,它们特别有用。Phil,谢谢你的帮助…你写这些消息是为了让我更生气吗?哈哈,loolOMG,你是最棒的!!!!我爱你,伙计!!!它很管用!!!!!哈哈哈!!!!!!!!!!!!!哈哈哈!!!!!哈哈哈!!!!!哈哈哈,谢谢你,老兄!!!!!事实上,我在php手册中根本看不到时间格式。我认为这只是一个SQL的东西。
$dates = mysql_query("SELECT t.time_id,
                             DATE_FORMAT(MIN(t.time_duration), '%H:%i') AS min_time,
                             DATE_FORMAT(MAX(t.time_duration), '%H:%i') AS max_time
                        FROM TIME_TABLE t
                    GROUP BY t.time_id"); 

while($raw = mysql_fetch_array($dates)) { 
  echo "time_id $raw['time_id']: Start $raw['min_time'] - End $raw['max_time']";
}