在结果表中查找领导者和上一个人之间的差异 [英] Find Difference between leader and Previous in results table
问题描述
已(添加了表格示例)
在您的帮助下,我在这里向我提供表中的信息(姓名,团队,开始时间,结束时间甚至这两者之间的时间.谢谢@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屋!