This repository has been archived on 2023-12-29. You can view files and clone it, but cannot push or open issues or pull requests.
dogstats/web/pages/smart/search.html.php

147 lines
5.2 KiB
PHP
Raw Normal View History

2023-11-26 14:00:23 +01:00
<h2>Hunde:</h2>
<ul>
<?php foreach ($dogs as $dog) : ?>
<li><a href="#<?= $dog ?>"><?= $dog ?></a></li>
2023-11-26 10:30:00 +01:00
<?php endforeach; ?>
2023-11-26 14:00:23 +01:00
</ul>
<?php foreach ($dogs as $dog) :
2023-11-29 13:55:28 +01:00
$dogid=preg_replace("/[^A-Za-z0-9]/", '', $dog);
2023-11-26 14:00:23 +01:00
$results = $results_dogs[$dog];
2023-11-26 14:35:28 +01:00
$sdata = [];
2023-11-26 14:00:23 +01:00
?>
2023-11-29 13:55:28 +01:00
<h1 id="<?= $dogid; ?>"><?= $dog; ?></h1>
2023-11-26 14:00:23 +01:00
2023-11-29 13:55:28 +01:00
<button onClick="getElementById('table_<?= $dogid ?>').style.display='table'">Tabelle anzeigen</button>
<table id="table_<?= $dogid ?>" class="table" style="display:none">
2023-11-26 14:00:23 +01:00
<tr>
<th>event</th>
<th>Wann wars</th>
<th>run</th>
<th>rang</th>
<th>stnr</th>
<th>teilnehmer</th>
<th>hund</th>
<th>verein</th>
<th>f</th>
<th>vw</th>
<th>zf</th>
<th>zeit</th>
<th>gf</th>
<th>msek</th>
<th>bew</th>
<th>punkte</th>
</tr>
<?php foreach ($results as $res) :
// graph data preparation
2023-11-29 13:53:05 +01:00
if ($res['bew'] != 'DIS' && $res['punkte'] != 'DIS') {
2023-11-26 14:00:23 +01:00
$sdata['dates'][] = date("d.m.Y", strtotime($res['date']));
$sdata['speed'][] = $res['msek'] ?: 0;
$sdata['errors'][] = $res['f'] ?: 0;
$sdata['refusals'][] = $res['vw'] ?: 0;
$sdata['time'][] = $res['zeit'] ?: 0;
$sdata['points'][] = $res['punkte'];
$sdata['ranking'][] = $res['rang'];
2023-11-29 14:22:41 +01:00
$a = array_filter($sdata['speed']);
if(count($a)>0)
$averagespeed = round(array_sum($a)/count($a),2);
$a = array_filter($sdata['errors']);
if(count($a)>0)
$averageerrors = round(array_sum($a)/count($a),2);
$a = array_filter($sdata['refusals']);
if(count($a)>0)
$averagerefusals = round(array_sum($a)/count($a),2);
$a = array_filter($sdata['ranking']);
if(count($a)>0)
$averageranking = round(array_sum($a)/count($a),2);
2023-11-26 14:00:23 +01:00
}
?>
<tr>
<td><?= $res['event'] ?></td>
<td><?= $res['ago'] ?></td>
<td><?= $res['run'] ?></td>
<td><?= $res['rang'] ?></td>
<td><?= $res['stnr'] ?></td>
<td><?= $res['teilnehmer'] ?></td>
<td><?= $res['hund'] ?></td>
<td><?= $res['verein'] ?></td>
<td><?= $res['f'] ?></td>
<td><?= $res['vw'] ?></td>
<td><?= $res['zf'] ?></td>
<td><?= $res['zeit'] ?></td>
<td><?= $res['gf'] ?></td>
<td><?= $res['msek'] ?></td>
<td><?= $res['bew'] ?></td>
<td><?= $res['punkte'] ?></td>
</tr>
<?php endforeach; ?>
</table>
2023-11-29 14:22:41 +01:00
<h4>Statistik</h4>
<div class="card" style="width: 18rem;">
<ul class="list-group list-group-flush">
<li class="list-group-item">Durchschnittsgeschwinigkeit: <span class="badge bg-secondary"><?= $averagespeed ?> m/s</span></li>
<li class="list-group-item">Fehler pro Lauf: <span class="badge bg-secondary"><?= $averageerrors ?></span></li>
<li class="list-group-item">Verweigerungen pro Lauf: <span class="badge bg-secondary"><?= $averagerefusals ?></span></li>
<li class="list-group-item">Durchschnittliche Platzierung: <span class="badge bg-secondary"><?= $averageranking ?></span></li>
</ul>
</div>
<br/>
2023-11-29 13:53:05 +01:00
<div class="row">
<?php if (count($results) > 0) : ?>
<div class="col">
<?= partial('graph.html.php', [
2023-11-29 13:55:28 +01:00
'id' => 'graph1'.$dogid,
2023-11-29 13:53:05 +01:00
'title' => 'Fehler und Verweigerungen',
'xaxis' => $sdata['dates'],
'seriesdata' => [
['name' => 'Fehler', 'type' => 'line', 'stack' => 'Total', 'data' => $sdata['errors']],
['name' => 'Verweigerungen', 'type' => 'line', 'stack' => 'Total', 'data' => $sdata['refusals']],
],
]);
?>
</div>
2023-11-26 14:00:23 +01:00
2023-11-29 13:53:05 +01:00
<div class="col">
<?= partial('graph.html.php', [
2023-11-29 13:55:28 +01:00
'id' => 'graph2'.$dogid,
2023-11-29 13:53:05 +01:00
'title' => 'Geschwindigkeit',
'xaxis' => $sdata['dates'],
'seriesdata' => [
['name' => 'Geschwindigkeit', 'type' => 'line', 'stack' => 'Total', 'data' => $sdata['speed']],
],
]);
?>
</div>
2023-11-26 14:00:23 +01:00
2023-11-29 13:53:05 +01:00
<div class="col">
<?= partial('graph.html.php', [
2023-11-29 13:55:28 +01:00
'id' => 'graph3'.$dogid,
2023-11-29 13:53:05 +01:00
'title' => 'Platzierung',
'xaxis' => $sdata['dates'],
'seriesdata' => [
['name' => 'Platzierung', 'type' => 'line', 'stack' => 'Total', 'data' => $sdata['ranking']],
],
]);
?>
</div>
</div>
2023-11-26 14:00:23 +01:00
2023-11-29 13:53:05 +01:00
<?php endif; ?>
2023-11-26 14:00:23 +01:00
<hr>
<?php endforeach; ?>