From 724e10fbc4b8ef56c94296cf31c7921b3f697db2 Mon Sep 17 00:00:00 2001 From: Florian Pesth Date: Mon, 12 Feb 2024 06:04:46 +0100 Subject: [PATCH] Add view (WIP), add variable for DB type --- helferdb_structure_mariadb.sql | 8 ++++++++ helferdb_structure_sqlite.sql | 8 ++++++++ html/SQL.php | 11 +++++++---- html/SQL_old.php | 5 +++-- html/Setup.php | 3 +++ html/testPDO.php | 8 ++++++-- 6 files changed, 35 insertions(+), 8 deletions(-) diff --git a/helferdb_structure_mariadb.sql b/helferdb_structure_mariadb.sql index b95af3a..aff07d2 100644 --- a/helferdb_structure_mariadb.sql +++ b/helferdb_structure_mariadb.sql @@ -52,3 +52,11 @@ CREATE TABLE `Status` ( `Text` text NOT NULL, PRIMARY KEY (`StatusID`) ); +DROP VIEW IF EXISTS `SchichtUebersicht`; +CREATE VIEW `SchichtUebersicht` AS SELECT + `Schicht`.`DienstID` AS `DienstID`, + `Schicht`.`SchichtID` AS `SchichtID`, + `Schicht`.`Von` AS `Von`,`Schicht`. + `Bis` AS `Bis`, + count(`EinzelSchicht`.`SchichtID`) AS `C`, + `Schicht`.`Soll` AS `Soll` FROM (`Schicht` LEFT JOIN `EinzelSchicht` ON(`Schicht`.`SchichtID` = `EinzelSchicht`.`SchichtID`)) GROUP BY `Schicht`.`SchichtID`; diff --git a/helferdb_structure_sqlite.sql b/helferdb_structure_sqlite.sql index 89de12b..9823983 100644 --- a/helferdb_structure_sqlite.sql +++ b/helferdb_structure_sqlite.sql @@ -52,3 +52,11 @@ CREATE TABLE `Status` ( `Text` text NOT NULL, PRIMARY KEY (`StatusID`) ); +DROP VIEW IF EXISTS `SchichtUebersicht`; +CREATE VIEW `SchichtUebersicht` AS SELECT + `Schicht`.`DienstID` AS `DienstID`, + `Schicht`.`SchichtID` AS `SchichtID`, + `Schicht`.`Von` AS `Von`,`Schicht`. + `Bis` AS `Bis`, + count(`EinzelSchicht`.`SchichtID`) AS `C`, + `Schicht`.`Soll` AS `Soll` FROM (`Schicht` LEFT JOIN `EinzelSchicht` ON(`Schicht`.`SchichtID` = `EinzelSchicht`.`SchichtID`)) GROUP BY `Schicht`.`SchichtID`; diff --git a/html/SQL.php b/html/SQL.php index 779abc0..9ebc64c 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -21,9 +21,11 @@ class DB { { if(self::$instance == null){ self::$instance = new DB(); - // Set database to german (FIXME should be configurable) - self::prepare(__METHOD__,"SET lc_time_names = 'de_DE'"); - self::execute(__METHOD__); + if(DBTYPE === 'mariadb'){ + // Set database to german (FIXME should be configurable) + self::prepare(__METHOD__,"SET lc_time_names = 'de_DE'"); + self::execute(__METHOD__); + } } return self::$instance; } @@ -269,7 +271,8 @@ function AlleSchichten($Sort, $HelferLevel = 1) $db->onErrorDie(__METHOD__,'sort_by_was_von'); } - return $db_erg; + $schichten = $db->fetchAll(__METHOD__); + return $schichten; } function AlleSchichtenCount($HelferLevel = 1) diff --git a/html/SQL_old.php b/html/SQL_old.php index 90ccc7c..741f4fb 100644 --- a/html/SQL_old.php +++ b/html/SQL_old.php @@ -191,8 +191,9 @@ function AlleSchichten($db_link, $Sort, $HelferLevel = 1) 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 AlleSchichtenCount($db_link, $HelferLevel = 1) diff --git a/html/Setup.php b/html/Setup.php index d277a78..a55a894 100644 --- a/html/Setup.php +++ b/html/Setup.php @@ -36,15 +36,18 @@ $wizard->addCode('createdatabase',function($storedvariables){ fwrite($conf_file, "