From 173e3578d75158ed709a5e67ac9e96294f47a5da Mon Sep 17 00:00:00 2001 From: Florian Pesth Date: Sun, 17 Mar 2024 09:16:17 +0100 Subject: [PATCH] GetDiensteForDay --- html/SQL.php | 18 ++++++++++++++++++ html/SQL_old.php | 5 ++++- html/testPDO.php | 8 +++++--- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/html/SQL.php b/html/SQL.php index ae9b79d..6f41eb7 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -644,6 +644,24 @@ function DeleteDienst($DienstID, $Rekursiv) } } +function GetDiensteForDay($helferlevel, $datestring) +{ + $db = DB::getInstance(); + $db->prepare(__METHOD__,"SELECT DienstId, Was, Wo, Info FROM Dienst INNER JOIN Schicht USING (DienstID) WHERE HelferLevel=" . $helferlevel . " GROUP BY DienstId HAVING MIN(Von)<:date1 AND MAX(Bis)>:date2 ORDER BY MIN(Von) ASC;"); + + $unixtime = strtotime($datestring); + $date1 = + $date2 = date('Y-m-d', $unixtime); + + $db_erg = $db->execute(__METHOD__,[ + 'date1' => date('Y-m-d', $unixtime + 24 * 60 * 60), + 'date2' => date('Y-m-d', $unixtime) + ]); + $db->onErrorDie(__METHOD__); + $schichten = $db->fetchAll(__METHOD__); + return $schichten; +} + // ok function GetSchichtenForDienstForDay($DienstID, $datestring) { diff --git a/html/SQL_old.php b/html/SQL_old.php index 166b303..9d82e4c 100644 --- a/html/SQL_old.php +++ b/html/SQL_old.php @@ -649,7 +649,10 @@ function GetDiensteForDay($db_link, $helferlevel, $datestring) echo "GetDienste ungueltige Abfrage"; die('Ungueltige Abfrage: ' . mysqli_error($db_link)); } - return $db_erg; + + while($zeilen[] = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)); + array_pop($zeilen); + return $zeilen; } function GetSchichtenForDienstForDay($db_link, $DienstID, $datestring) diff --git a/html/testPDO.php b/html/testPDO.php index c2d3352..1df4be7 100644 --- a/html/testPDO.php +++ b/html/testPDO.php @@ -447,15 +447,16 @@ function TestDeleteDienst(){ else echo "DeleteDienst ok\n"; } +// ok function TestGetDiensteForDay(){ $dbl = old\ConnectDB(); - $erg_old = old\GetDiensteForDay($dbl, $helferlevel, $datestring); - $erg_new = GetDiensteForDay($helferlevel, $datestring); + $erg_old = old\GetDiensteForDay($dbl, 2, "2024-02-16"); + $erg_new = GetDiensteForDay(2, "2024-02-16"); if((gettype($erg_old) != gettype($erg_new)) || ($erg_old != $erg_new)){ echo "Old GetDiensteForDay returns".var_export($erg_old, true)."\n"; echo "New GetDiensteForDay returns '".var_export($erg_new, true)."'\n"; } - else echo "GetDiensteForDay ok"; + else echo "GetDiensteForDay ok\n"; } // ok @@ -619,4 +620,5 @@ TestSchichtenSummeEinesHelfers(); TestLogSchichtEingabe(); TestDetailSchicht(); TestBeteiligteHelfer(); +TestGetDiensteForDay(); ?>