change training list export

This commit is contained in:
2020-09-08 13:31:32 +02:00
parent de92a88a3d
commit c2c61460b6
3 changed files with 49 additions and 25 deletions

View File

@@ -3,19 +3,25 @@
if ($user->has_authority(1)) { if ($user->has_authority(1)) {
$trainingAssocArray = $sql->assoc_array(" $trainingAssocArray = $sql->assoc_array("
SELECT SELECT
tr_id id, tr_id 'Azonosító',
substring(tr_date,1,16) 'date', substring(tr_date,1,16) 'Időpont',
trt_name 'name', trt_name 'Típus',
GROUP_CONCAT(DISTINCT ua_name) 'coaches', tr_duration 'Időintervallum',
COUNT(DISTINCT pr_id) 'count' GROUP_CONCAT(DISTINCT uc1.ua_name) 'Edző',
GROUP_CONCAT(DISTINCT uc2.ua_name) 'Segédedző',
COUNT(DISTINCT pr_id) 'Létszám'
FROM FROM
training training
JOIN JOIN
training_type ON trt_id = tr_training_type_trt_id training_type ON trt_id = tr_training_type_trt_id
JOIN JOIN
training_coach ON trc_training_tr_id = tr_id training_coach tc1 ON tc1.trc_training_tr_id = tr_id AND tc1.trc_helper = 0
LEFT JOIN
training_coach tc2 ON tc2.trc_training_tr_id = tr_id AND tc2.trc_helper = 1
JOIN JOIN
user_coach ON ua_id = trc_coach_uc_id user_coach uc1 ON uc1.ua_id = tc1.trc_coach_uc_id
LEFT JOIN
user_coach uc2 ON uc2.ua_id = tc2.trc_coach_uc_id
JOIN JOIN
presence ON pr_training_tr_id = tr_id presence ON pr_training_tr_id = tr_id
WHERE WHERE
@@ -27,21 +33,25 @@ if ($user->has_authority(1)) {
else { else {
$trainingAssocArray = $sql->assoc_array(" $trainingAssocArray = $sql->assoc_array("
SELECT SELECT
tr_id id, tr_id 'Azonosító',
substring(tr_date,1,16) 'date', substring(tr_date,1,16) 'Időpont',
trt_name 'name', trt_name 'Típus',
GROUP_CONCAT(DISTINCT ua_name) 'coaches', tr_duration 'Időintervallum',
COUNT(DISTINCT pr_id) 'count' GROUP_CONCAT(DISTINCT uc1.ua_name) 'Edző',
GROUP_CONCAT(DISTINCT uc2.ua_name) 'Segédedző',
COUNT(DISTINCT pr_id) 'Létszám'
FROM FROM
training training
JOIN JOIN
training_type ON trt_id = tr_training_type_trt_id training_type ON trt_id = tr_training_type_trt_id
JOIN JOIN
training_coach trc1 ON trc1.trc_training_tr_id = tr_id training_coach tc1 ON tc1.trc_training_tr_id = tr_id AND tc1.trc_helper = 0
LEFT JOIN
training_coach tc2 ON tc2.trc_training_tr_id = tr_id AND tc2.trc_helper = 1
JOIN JOIN
training_coach trc2 ON trc2.trc_training_tr_id = tr_id user_coach uc1 ON uc1.ua_id = tc1.trc_coach_uc_id
JOIN LEFT JOIN
user_coach ON ua_id = trc1.trc_coach_uc_id user_coach uc2 ON uc2.ua_id = tc2.trc_coach_uc_id
JOIN JOIN
presence ON pr_training_tr_id = tr_id presence ON pr_training_tr_id = tr_id
WHERE WHERE
@@ -53,9 +63,9 @@ else {
$filename = "edzeslista.csv"; $filename = "edzeslista.csv";
$fp = fopen('php://output', 'w'); $fp = fopen('php://output', 'w');
ob_end_clean();
fputcsv($fp, array_keys(reset($trainingAssocArray)), ';'); fputcsv($fp, array_keys(reset($trainingAssocArray)), ';');
ob_end_clean();
header('Content-type: application/csv'); header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename); header('Content-Disposition: attachment; filename='.$filename);

View File

@@ -6,16 +6,22 @@ if ($user->has_authority(1)) {
tr_id id, tr_id id,
substring(tr_date,1,16) 'date', substring(tr_date,1,16) 'date',
trt_name 'name', trt_name 'name',
GROUP_CONCAT(DISTINCT ua_name) 'coaches', tr_duration 'duration',
GROUP_CONCAT(DISTINCT uc1.ua_name) 'coaches',
GROUP_CONCAT(DISTINCT uc2.ua_name) 'helpers',
COUNT(DISTINCT pr_id) 'count' COUNT(DISTINCT pr_id) 'count'
FROM FROM
training training
JOIN JOIN
training_type ON trt_id = tr_training_type_trt_id training_type ON trt_id = tr_training_type_trt_id
JOIN JOIN
training_coach ON trc_training_tr_id = tr_id training_coach tc1 ON tc1.trc_training_tr_id = tr_id AND tc1.trc_helper = 0
LEFT JOIN
training_coach tc2 ON tc2.trc_training_tr_id = tr_id AND tc2.trc_helper = 1
JOIN JOIN
user_coach ON ua_id = trc_coach_uc_id user_coach uc1 ON uc1.ua_id = tc1.trc_coach_uc_id
LEFT JOIN
user_coach uc2 ON uc2.ua_id = tc2.trc_coach_uc_id
JOIN JOIN
presence ON pr_training_tr_id = tr_id presence ON pr_training_tr_id = tr_id
WHERE WHERE
@@ -30,18 +36,22 @@ else {
tr_id id, tr_id id,
substring(tr_date,1,16) 'date', substring(tr_date,1,16) 'date',
trt_name 'name', trt_name 'name',
tr_duration 'duration',
GROUP_CONCAT(DISTINCT ua_name) 'coaches', GROUP_CONCAT(DISTINCT ua_name) 'coaches',
GROUP_CONCAT(DISTINCT uc2.ua_name) 'helpers',
COUNT(DISTINCT pr_id) 'count' COUNT(DISTINCT pr_id) 'count'
FROM FROM
training training
JOIN JOIN
training_type ON trt_id = tr_training_type_trt_id training_type ON trt_id = tr_training_type_trt_id
JOIN JOIN
training_coach trc1 ON trc1.trc_training_tr_id = tr_id training_coach tc1 ON tc1.trc_training_tr_id = tr_id AND tc1.trc_helper = 0
LEFT JOIN
training_coach tc2 ON tc2.trc_training_tr_id = tr_id AND tc2.trc_helper = 1
JOIN JOIN
training_coach trc2 ON trc2.trc_training_tr_id = tr_id user_coach uc1 ON uc1.ua_id = tc1.trc_coach_uc_id
JOIN LEFT JOIN
user_coach ON ua_id = trc1.trc_coach_uc_id user_coach uc2 ON uc2.ua_id = tc2.trc_coach_uc_id
JOIN JOIN
presence ON pr_training_tr_id = tr_id presence ON pr_training_tr_id = tr_id
WHERE WHERE

View File

@@ -10,7 +10,9 @@
<th>Azonosító</th> <th>Azonosító</th>
<th>Időpont</th> <th>Időpont</th>
<th>Típus</th> <th>Típus</th>
<th>Edzők</th> <th>Időintervallum</th>
<th>Edző</th>
<th>Segédedző</th>
<th>Létszám</th> <th>Létszám</th>
</tr> </tr>
{foreach $trainings as $training} {foreach $trainings as $training}
@@ -18,7 +20,9 @@
<td>#{$training['id']}</td> <td>#{$training['id']}</td>
<td>{$training['date']}</td> <td>{$training['date']}</td>
<td>{$training['name']}</td> <td>{$training['name']}</td>
<td>{$training['duration']}</td>
<td>{$training['coaches']}</td> <td>{$training['coaches']}</td>
<td>{$training['helpers']}</td>
<td>{$training['count']}</td> <td>{$training['count']}</td>
</tr> </tr>
{/foreach} {/foreach}