Hallo. Ich suche nach einer Lösung, bei der ich leider grade nicht mehr weiterkomme.
Ich habe eine Urlaubsdatenbank mit vielen Mitarbeitern, aus der ich ein Start-Datum des Urlaubs (Bsp: 2025-01-01) und ein End-Datum (Bsp: 2025-01-07) erhalte.
Nun habe ich eine Tabelle mit dem Namen und darin sollen jetzt nach den Tagen die Columns eingefärbt werden. Dazu verwende ich die Abfrage
$insert = $this->pdo->prepare("SELECT * FROM Urlaub WHERE ma_id = :ma AND date_start > :datum AND date_end < :datum");
$insert->execute([
'ma' => $maid,
'datum' => $datum
]);
Dann erhalte ich mit days_diff die Anzahl der Tage und kann dann via colspan die Spalten einfärben.
Das klappt ganz gut, solange ein Mitarbeiter in einem Monat nur einen Urlaub hat, sobald aber 2 Urlaubstage (z.B. am 03.01.25 und am 20.01.25) eingetragen sind, macht er mir 2 Zeilen da in dem Durchlauf immer der Tag abgefragt wird und dann halt je MA 1 Urlaub abgefragt wird. Hätte da jemand eine Idee, wie ich 2 Urlaube in eine Reihe bekomme?
In dieser Tabelle sieht man dass "min" (gleicher MA (Armin aus Tabelle 1)) z.B. am 17. und am 24. Urlaub hat, dies aber in 2 Zeilen steht. Das hätte ich gerne in einer