presence -> highlight users, rest above

This commit is contained in:
Ricsi
2016-11-22 12:27:02 +00:00
parent 9750d827cc
commit ccbc7b0e53
2 changed files with 75 additions and 4 deletions

View File

@@ -8,21 +8,72 @@ if ($this->is_id()) {
# GYEREKEK BEJELÖLÉSE
# lekérjük, hogy az elmúlt 4 héten kik voltak ilyen típusú edzésen [egyeznie kell a dayofweeknek és a type-nak]
//alg.: lekérjük, hogy az elmúlt 4 hétben, ezen a napon, ezzel az edzés típussal milyen edzés ID-k vannak
//presence-ből countoljuk az user_kid ID-kat
$presence_query = "SELECT * FROM user_kid ORDER BY uk_name;";
$presence_assoc_array = $sql->assoc_array($presence_query);
//végig kell menni rajta h legeneráljuk az usereket
$users = array();
//var_dump($presence_assoc_array);
/*
foreach ($presence_assoc_array as $presence) {
$user = new user_kid();
$user->set_user_data_by_id($presence['uk_id']);
$users[] = $user;
}
*/
//training data
$training = new training();
$training->set_training_data_by_id($this->get_id());
//SZŰRÉS
$tr_ids = array();
for ($i=1; $i <=4 ; $i++) {
$actual_date = date("Y-m-d H:i:s" , strtotime($training->get_tr_date() . " - " . $i . " weeks"));
$tr_ids_query = "SELECT * FROM training WHERE tr_date = '" . $actual_date . "' and tr_training_type_trt_id = " . $training->get_tr_training_type_trt_id() . ";";
$tr_id = $sql->single_variable($tr_ids_query);
if ($tr_id) $tr_ids[] = $tr_id;
}
//végigmegyünk az edzésekkel a presencen
$presence_query = "
SELECT `pr_user_kid_uk_id` , count( `pr_id` ) AS 'presence'
FROM `presence`
WHERE `pr_training_tr_id`
IN ( " . implode(',', $tr_ids) . " )
GROUP BY `pr_user_kid_uk_id`
ORDER BY count( `pr_id` ) DESC;
";
//echo $presence_query;
if (!empty($tr_ids)) {
$presence_assoc_array = $sql->assoc_array($presence_query);
foreach ($presence_assoc_array as $presence) {
$user = new user_kid();
$user->set_user_data_by_id($presence['pr_user_kid_uk_id']);
$users[] = $user;
}
}
//legeneráljuk a maradékot
$exeptions = array();
$rest_users = array();
foreach ($users as $user) {
$exeptions[] = $user->get_uk_id();
}
if (!empty($exeptions)) $rest_user_query = "SELECT * FROM user_kid WHERE uk_id NOT IN (" . implode(',', $exeptions) . ") ORDER BY uk_name ASC;"; //ha vannak kiemelt userek
else $rest_user_query = "SELECT * FROM user_kid ORDER BY uk_name;"; //ha nincsenek kiemelt userek
$rest_user_assoc_array = $sql->assoc_array($rest_user_query);
foreach ($rest_user_assoc_array as $rest_user) {
$user = new user_kid();
$user->set_user_data_by_id($rest_user['uk_id']);
$rest_users[] = $user;
}
//TRAINING-COACH ARRAY
$trc_query = "SELECT * FROM training_coach WHERE trc_training_tr_id = " . $this->get_id();
@@ -45,6 +96,7 @@ if ($this->is_id()) {
$smarty->assign("trc_coaches", $trc_coaches);
$smarty->assign('presence_assoc_array', $presence_assoc_array);
$smarty->assign('users', $users);
$smarty->assign('rest_users', $rest_users);
$smarty->assign('tr_id', $this->get_id());
$smarty->display("presence.tpl");