presence -> highlight users, rest above
This commit is contained in:
@@ -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");
|
||||
|
||||
Reference in New Issue
Block a user