<?php
$header = $data = '';
$select = "SELECT t.taetigkeit AS Taetigkeit, p.produkt AS Produkt, t.id AS tID, p.id AS pID, pr.beschreibung AS Beschreibung, u.name AS User, z.zeit AS Zeit, z.datum AS Datum FROM zeiten AS z, projekte AS pr, user AS u, taetigkeiten AS t, produkte AS p WHERE z.datum >= '".$wochenanfang."' AND z.datum <= '".$wochenende."' AND u.name = '".$user."' AND u.id = z.userid AND pr.id = z.taetprodid AND pr.taetigkeit = t.id AND pr.produkt = p.id ORDER BY z.datum ASC;";
$export = mysqli_query($mysqli, $select);
if (!$export) {
$data = 'Ungültige Abfrage: '.$mysqli->error;
} else {
$fields = $mysqli->field_count;
for ($i = 0; $i < $fields; $i++) {
$headerObj = mysqli_fetch_field_direct($export, $i);
$header .= $headerObj->name.",";
}
$row_collector = array();
while ($row = mysqli_fetch_assoc($export)) {
if (!isset($row_collector[$row['tID']])) {
$row_collector[$row['tID']] = array();
$row_collector[$row['tID']]['taet'] = $row['Taetigkeit'];
$row_collector[$row['tID']]['data'] = array();
}
if (!isset($row_collector[$row['tID']]['data'][$row['pID']])) {
$row_collector[$row['tID']]['data'][$row['pID']] = array();
$row_collector[$row['tID']]['data'][$row['pID']]['prod'] = $row['Produkt'];
$row_collector[$row['tID']]['data'][$row['pID']]['desc'] = $row['Beschreibung'];
$row_collector[$row['tID']]['data'][$row['pID']]['user'] = $row['User'];
$row_collector[$row['tID']]['data'][$row['pID']]['time'] = array();
}
$row_collector[$row['tID']]['data'][$row['pID']]['time'][$row['Datum']] = $row['Zeit'];
}
foreach ($row_collector as $taet_id => $teat) {
$td = array();
$td[0] = $row_collector[$taet_id]['taet'];
foreach ($row_collector[$taet_id]['data'] as $prod_id => $prod) {
$td[1] = $row_collector[$taet_id]['data'][$prod_id]['prod'];
$td[2] = $row_collector[$taet_id]['data'][$prod_id]['desc'];
for ($i = 0; $i < 7; $i++) {
$ts = $wochenanfang + ($i * 60 * 60 * 24);
if (isset($row_collector[$taet_id]['data'][$prod_id]['time'][$ts])) {
$td[$i+3] = $row_collector[$taet_id]['data'][$prod_id]['time'][$ts];
} else {
$td[$i+3] = "";
}
}
$line = '';
for ($i = 0; $i < count($td); $i++) {
$value = $td[$i]
if ($value == "") {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . ",";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
}
} else {
$data = 'Keine Einträge gefunden.';
}
$data = str_replace("\r","",$data);
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=extraction.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";