getConnection(); function e($value): string { return htmlspecialchars((string) $value, ENT_QUOTES, 'UTF-8'); } $serverCurrentDateTime = date('Y-m-d H:i:s'); $sql = " SELECT auth_users.id AS id_utente, auth_users.first_name AS nome_utente, auth_users.last_name AS cognome_utente, auth_users.email AS email_utente, COALESCE(orderbook_lessons.lezioni_acquistate, 0) AS lezioni_acquistate, COUNT(CASE WHEN bookingclass.bookingstart <= CURDATE() AND bookingclass.lostlesson = 'N' THEN 1 END) AS lezioni_praticate, COUNT(CASE WHEN bookingclass.bookingstart > CURDATE() THEN 1 END) AS lezioni_programmate, COUNT(CASE WHEN bookingclass.lostlesson = 'Y' THEN 1 END) AS lezioni_perse, COALESCE(orderbook_lessons.lezioni_acquistate, 0) - COUNT(CASE WHEN bookingclass.bookingstart > CURDATE() THEN 1 END) - COUNT(CASE WHEN bookingclass.bookingstart <= CURDATE() AND bookingclass.lostlesson = 'N' THEN 1 END) - COUNT(CASE WHEN bookingclass.lostlesson = 'Y' THEN 1 END) AS lezioni_da_programmare FROM auth_users LEFT JOIN ( SELECT iduser, SUM(quantityclass) AS lezioni_acquistate FROM orderbook GROUP BY iduser ) AS orderbook_lessons ON auth_users.id = orderbook_lessons.iduser LEFT JOIN bookingclass ON auth_users.id = bookingclass.iduser GROUP BY auth_users.id, auth_users.last_name ORDER BY auth_users.last_name"; $users = $pdo->query($sql)->fetchAll(); ?>