prepare("SELECT id, vorname, nachname, email, urlaubstage FROM users ORDER BY nachname, vorname");
$stmt->execute();
$users = $stmt->fetchAll();
?>
Urlaubsübersicht ()
| Mitarbeiter |
Email |
Anspruch |
Genutzt () |
Verbleibend |
Ausstehend |
Bevorstehende Urlaube |
prepare("SELECT IFNULL(SUM(days),0) AS used FROM vacations WHERE user_id = ? AND status = 'genehmigt' AND YEAR(start_date) = ?");
$s->execute([$uid, $year]);
$used = (int)$s->fetchColumn();
// Ausstehende Anträge
$p = $pdo->prepare("SELECT COUNT(*) FROM vacations WHERE user_id = ? AND status = 'beantragt'");
$p->execute([$uid]);
$pending = (int)$p->fetchColumn();
// Bevorstehende Urlaube (nächste 5)
$n = $pdo->prepare("SELECT start_date, end_date, days, status FROM vacations WHERE user_id = ? AND end_date >= CURDATE() ORDER BY start_date LIMIT 5");
$n->execute([$uid]);
$upcoming = $n->fetchAll();
$entitlement = isset($u['urlaubstage']) ? (int)$u['urlaubstage'] : 0;
$remaining = $entitlement - $used;
?>
|
|
|
|
|
|
';
}
} ?>
|
Hinweis: Ansprüche werden aus dem Feld users.urlaubstage gelesen. Falls dieses Feld leer ist, bitte in der Nutzerverwaltung pflegen.