Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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 如何从mysql中查找时间总和_Php - Fatal编程技术网

Php 如何从mysql中查找时间总和

Php 如何从mysql中查找时间总和,php,Php,你好,我要从我的sql打印时间总和,但我不能请帮助我 $SQL = "SELECT duration FROM core_network "; $result = mysql_query($SQL); $c_count='0'; $n="0"; $duration=array(); while ($db_field = mysql_fetch_array($result)) { $duration[$n]= $db_field['duration']; echo $duration[$n]

你好,我要从我的sql打印时间总和,但我不能请帮助我

$SQL = "SELECT duration FROM core_network ";
$result = mysql_query($SQL);


$c_count='0';
$n="0";
$duration=array();
while ($db_field = mysql_fetch_array($result)) {
$duration[$n]= $db_field['duration'];
 echo $duration[$n];
$n++;
$c_count++;
 }





the result is 18:00:0000:39:0008:00:00


than i found the code from internet


function sum_the_time($Duration) {
 $times = array('18:00:00','00:39:00','08:00:00');
 $seconds = 0;
 foreach ($times as $time)
 {
   list($hour,$minute,$second) = explode(':', $time);
   $seconds += $hour*3600;
   $seconds += $minute*60;
   $seconds += $second;
 }
 $hours = floor($seconds/3600);
 $seconds -= $hours*3600;
 $minutes  = floor($seconds/60);
 $seconds -= $minutes*60;
  // return "{$hours}:{$minutes}:{$seconds}";
 return sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds);
  }
 echo sum_the_time($duration);

如何输入$duration[$n]到$times=array('18:00:00','00:39:00','08:00:00');不需要时间,只需将$duration作为参数传递给函数:

function sum_the_time($times) {
 $seconds = 0;
 foreach ($times as $time)
 {
   list($hour,$minute,$second) = explode(':', $time);
   $seconds += $hour*3600;
   $seconds += $minute*60;
   $seconds += $second;
 }
 $hours = floor($seconds/3600);
 $seconds -= $hours*3600;
 $minutes  = floor($seconds/60);
 $seconds -= $minutes*60;
  // return "{$hours}:{$minutes}:{$seconds}";
 return sprintf('%02d:%02d:%02d', $hours, $minutes, $seconds);
  }
 echo sum_the_time($duration);

据我所知,您想将foreach($duration as$time)而不是foreach($times as$time)?按echo$row列['totalDuration']从core_网络组中选择SUM(duration)as totalDuration;请不要使用
mysql.*
函数来编写新代码。它们不再得到维护,社区已经开始。看到了吗?相反,你应该学习并使用或。如果你不能决定哪一个,我会帮你的。如果您选择PDO。