Kein Zugriff"; include "footer.php"; exit; } // Verarbeitung des Formulars, wenn es gesendet wurde if ($_SERVER["REQUEST_METHOD"] == "POST") { $kostenproStrich = floatval($_POST["kostenproStrich"] ?? 0); $datum = date("Y-m-d H:i:s"); // Das aktuelle Datum verwenden $eingetragen = 0; $fehlgeschlagen = false; try { $pdo->beginTransaction(); $insert = $pdo->prepare( "INSERT INTO kl_Kaffeeverbrauch (MitarbeiterID, AnzahlStriche, Kosten, KostenproStrich, Datum) VALUES (?, ?, ?, ?, ?)" ); foreach ($_POST["anzahlStriche"] ?? [] as $mitarbeiterID => $anzahlStriche) { $mitarbeiterID = (int)$mitarbeiterID; $anzahlStriche = (int)$anzahlStriche; if ($mitarbeiterID <= 0 || $anzahlStriche === 0) { continue; } $kosten = $anzahlStriche * $kostenproStrich; $insert->execute([$mitarbeiterID, $anzahlStriche, $kosten, $kostenproStrich, $datum]); $legacyConsumptionId = (int)$pdo->lastInsertId(); ledger_mirror_legacy_consumption($pdo, $tenantId, $legacyConsumptionId); $eingetragen++; } $pdo->commit(); } catch (Throwable $e) { if ($pdo->inTransaction()) { $pdo->rollBack(); } $fehlgeschlagen = true; } if ($fehlgeschlagen) { echo "Die Einträge konnten nicht gespeichert werden."; } else { echo $eingetragen . " Einträge erfolgreich hinzugefügt."; } // Mitarbeiter aus der Datenbank abrufen und nach Namen sortieren $sqlMitarbeiter = "SELECT MitarbeiterID, Name FROM kl_Mitarbeiter WHERE aktiv = 1 ORDER BY Name"; }elseif($_SERVER["REQUEST_METHOD"] == "GET" AND isset($_GET["action"])){ if($_GET["action"] == "vorderseite"){ $sqlMitarbeiter = "SELECT M.MitarbeiterID, M.Name, M.Email FROM kl_Mitarbeiter M JOIN kl_Kaffeeverbrauch V ON M.MitarbeiterID = V.MitarbeiterID WHERE V.Datum >= DATEADD(DAY, -100, (SELECT MAX(Datum) FROM kl_Kaffeeverbrauch WHERE Datum < CAST(GETDATE() AS DATE))) AND M.aktiv = 1 GROUP BY M.MitarbeiterID, M.Name, M.Email HAVING SUM(V.AnzahlStriche) >= 10 ORDER BY Name;"; }elseif( $_GET["action"] == "rueckseite"){ $sqlMitarbeiter = "SELECT M.MitarbeiterID, M.Name, M.Email FROM kl_Mitarbeiter M LEFT JOIN kl_Kaffeeverbrauch V ON M.MitarbeiterID = V.MitarbeiterID AND V.Datum >= DATEADD(DAY, -100, (SELECT MAX(Datum) FROM kl_Kaffeeverbrauch)) WHERE M.aktiv = 1 GROUP BY M.MitarbeiterID, M.Name, M.Email HAVING COALESCE(SUM(V.AnzahlStriche), 0) < 10 ORDER BY M.Name;"; }elseif($_GET["action"] == "alle"){ // Mitarbeiter aus der Datenbank abrufen und nach Namen sortieren $sqlMitarbeiter = "SELECT MitarbeiterID, Name FROM kl_Mitarbeiter WHERE aktiv = 1 ORDER BY Name"; } }else{ // Mitarbeiter aus der Datenbank abrufen und nach Namen sortieren $sqlMitarbeiter = "SELECT MitarbeiterID, Name FROM kl_Mitarbeiter WHERE aktiv = 1 ORDER BY Name"; } $stmtMitarbeiter = sqlsrv_query($conn, $sqlMitarbeiter); // Kosten pro Strich auslesen $sqlKostenproStrich = "SELECT KostenproStrich FROM kl_config "; $stmtKostenproStrich = sqlsrv_query($conn, $sqlKostenproStrich); $row = sqlsrv_fetch_array($stmtKostenproStrich, SQLSRV_FETCH_ASSOC); $KostenproStrichtemp = $row["KostenproStrich"]; $KostenproStrich = number_format($KostenproStrichtemp, 2, '.', ''); ?> Kaffeeliste - Anzahl der Striche für alle Mitarbeiter

Anzahl der Striche für alle Mitarbeiter

"> Kosten pro Strich:
"; echo ""; echo " "; // Iteriere über alle Mitarbeiter while ($row = sqlsrv_fetch_array($stmtMitarbeiter, SQLSRV_FETCH_ASSOC)) { $mitarbeiterID = $row["MitarbeiterID"]; $mitarbeiterName = $row["Name"]; echo ""; // Formularfeld für die Anzahl der Striche echo ""; echo ""; echo ""; } echo "
Mitarbeiter Anzahl Striche
"; ?>