在结果表中查找领导者和上一个人之间的差异 [英] Find Difference between leader and Previous in results table

查看:34
本文介绍了在结果表中查找领导者和上一个人之间的差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

已(添加了表格示例)

在您的帮助下,我在这里向我提供表中的信息(姓名,团队,开始时间,结束时间甚至这两者之间的时间.谢谢@Ian Kenney;) 解决方案,以查找开始与开始之间的时间.完成

With your help guys I'm in this place that I have information in table ( Name, team, start time finish time and even time between these two. thanks @Ian Kenney ;) solution to find time between start & finish

现在如何计算领导者之间的差异和上一个之间的差异.

now how can I calculate and display on page difference between leader and difference between previous.

当前工作查询是:

        query("
          SELECT 
     klass, nimi, synd, teamnimi, start, 
     TIME(`finish`) AS finish,
     timediff(time(finish), time(start)) AS aeg
  FROM bc2014 T1 
   INNER JOIN bc2014aeg T2 on T1.bc2014_id = T2.bc2014_id
   WHERE klass = 'DS1 (1 koera toukerattavedu al.14 a.)'
   ORDER BY aeg");

和输出是这样的:

表如下所示:

    echo "<tr><th>koht </th><th>klass </th><th>Liikme nimi </th><th>Synniaeg</th><th>Tiim</th><th>Start</th><th>Finish</th><th>Time</th><th>Dif.Leader</th><th>Dif.Previous</th><th>km/h</th></tr>";
while($row = $results->fetch_array()) {

$timestamp = strtotime($row['synd']);
 print '<tr>';
  print '<td>' .$row["ranking"].'</td>';
 print '<td>'.removeParanthesis($row["klass"]).'</td>';
   print '<td>'.$row["nimi"].'  '.$row["Perekonnanimi"].'</td>';
     print '<td>'.$date = date('d-m-Y', $timestamp).'</td>';
    print '<td>'.$row["teamnimi"].'</td>';
print '<td>'.$row["start"].'</td>';
print '<td>'.$row["finish"].'</td>';
print '<td>'.$row["aeg"].'</td>';
print '<td>'.$row["difleader"].'</td>';
print '<td>'.$row["difprev"].'</td>';
print '<td>'.$row["speed"].'</td>';
 print '</tr>';

}

推荐答案

您可以通过记住领导者时间和循环中的前一个时间来计算与领导者的差异.

you can work out the diff from leader by remembering the leaders time, and the previous time as you run through the loop.

让查询中增加一个经过的时间

lets add an elapsed_time into the query

SELECT 
 klass, nimi, synd, teamnimi, start, 
 TIME(`finish`) AS finish,
 timediff(time(finish), time(start)) AS aeg,
 finish - start as elapsed_time
FROM bc2014 T1 
INNER JOIN bc2014aeg T2 on T1.bc2014_id = T2.bc2014_id
WHERE klass = 'DS1 (1 koera toukerattavedu al.14 a.)'
ORDER BY aeg

然后在结果集中使用它来计算时间差

Then use this in the result set to calculate the time differences

while($row = $results->fetch_array()) {
//.....

  if(isset($leader_time)){
    print '<td>'. $row["elapsed_time"] - $leader_time .'s</td>';
    print '<td>'. $row["elapsed_time"] - $last_time .'s</td>';
  } else { 
    print '<td> </td>';
    print '<td> </td>';
  }
// ...
  if(!isset($leader_time)){ $leader_time = $row["elapsed_time"] ;} 
  $last_time = $row["elapsed_time"] ;
}

然后您可以使用$ leader_time和$ last_time计算两个差异列

you can then use $leader_time and $last_time to calculate the two difference columns

这篇关于在结果表中查找领导者和上一个人之间的差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆