<?php
class SpritLog extends DatabaseTable {
+ protected $machine = false;
public function __construct($id=false)
{
parent::__construct('sprit_log', $id);
}
+ public function setMachine($machine)
+ {
+ $this->machine = $machine;
+ }
+
public function distinctYears()
{
- $sql = "SELECT EXTRACT(YEAR from date) AS year,sum(price) AS sum,sum(km) AS km FROM sprit_log GROUP BY year ORDER BY year DESC";
+ $sql = "SELECT EXTRACT(YEAR from date) AS year,sum(price) AS sum,sum(km) AS km FROM sprit_log " .
+ ($this->machine ? "WHERE machine = {$this->machine} " : "") .
+ "GROUP BY year ORDER BY year DESC";
return $this->db->fetchObjectList($sql);
}
public function formatYear($year)
{
$out = '';
- $sql = sprintf("SELECT * FROM sprit_log WHERE EXTRACT(YEAR from date) = %d ORDER BY date ASC", $year);;
+ $sql = sprintf("SELECT * FROM sprit_log WHERE %sEXTRACT(YEAR from date) = %d ORDER BY date ASC",
+ $this->machine ? "machine = {$this->machine} AND " : "",
+ $year);
$total_km = 0;
$total_liter = 0;
$total_price = 0;
foreach ($this->db->fetchObjectList($sql) as $row) {
$out .= sprintf('<tr id="%d"><td>%s</td><td>%s</td><td><span route="SpritLog/EditTankstelle" item_id="%d">%s</span></td>' .
- '<td class="right">%.2f</td><td class="right">%.2f</td><td class="right">%.2f</td>' .
+ '<td class="right">%.3f</td><td class="right">%.2f</td><td class="right">%.2f</td>' .
'<td class="right">%d</td><td class="right">%d</td></tr>',
$row->id, assert_german_date($row->date),
$row->city, $row->id, $row->tankstelle,
public function ajaxList(Array $data)
{
+ if (isset($data['machine']))
+ $this->setMachine($data['machine']);
list($table, $liter, $price, $km) = $this->formatYear($data['year']);
return array('html' => array('list_'.$data['year'] => $table,