prepare(" SELECT sp.id as spid, sp.praticien_id, sp.can_manage_rdv, sp.can_edit_slots, sp.is_active, p.nom, p.prenom, p.specialite, p.ville FROM secretaire_praticien sp JOIN praticien p ON p.id = sp.praticien_id WHERE sp.secretaire_user_id = :u AND sp.is_active=1 ORDER BY p.nom, p.prenom "); $q->execute(['u'=>$sec_uid]); $rows = $q->fetchAll(PDO::FETCH_ASSOC); // Compteurs simples Today/Tomorrow par praticien $today = (new DateTime('today'))->format('Y-m-d 00:00:00'); $tomorrow = (new DateTime('tomorrow'))->format('Y-m-d 00:00:00'); $counts = []; if ($rows) { $ids = array_column($rows,'praticien_id'); $in = implode(',', array_fill(0, count($ids), '?')); $s = $pdo->prepare(" SELECT praticien_id, SUM(date_rdv >= ? AND date_rdv < ?) AS today_count, SUM(date_rdv >= ? AND date_rdv < DATE_ADD(?, INTERVAL 1 DAY)) AS tomorrow_count FROM rendez_vous WHERE praticien_id IN ($in) AND statut IN ('prévu','confirmé') GROUP BY praticien_id "); $params = [$today,(new DateTime('tomorrow'))->format('Y-m-d 00:00:00'), (new DateTime('tomorrow'))->format('Y-m-d 00:00:00'), (new DateTime('tomorrow'))->format('Y-m-d 00:00:00')]; $s->execute(array_merge($params, $ids)); foreach($s->fetchAll(PDO::FETCH_ASSOC) as $r){ $counts[(int)$r['praticien_id']] = $r; } } require_once __DIR__ . '/../includes/header_cabinet.php'; ?>

0,'tomorrow_count'=>0]; ?>