diff --git a/.gitignore b/.gitignore index 89e5c1e..6ed92b8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,8 @@ +*.pdf +*.swp +bengelsystem_konfiguration.php +convention.log +*.sql +*.sqlite3 +etc bengelsystem_konfiguration.php diff --git a/helferdb_structure_mariadb.sql b/helferdb_structure_mariadb.sql new file mode 100644 index 0000000..b106b24 --- /dev/null +++ b/helferdb_structure_mariadb.sql @@ -0,0 +1,66 @@ +DROP TABLE IF EXISTS `Dienst`; +CREATE TABLE `Dienst` ( + `DienstID` int(11) NOT NULL AUTO_INCREMENT, + `Was` text NOT NULL, + `Wo` text NOT NULL, + `Info` text NOT NULL, + `Leiter` int(11) NOT NULL, + `ElternDienstID` int(11) DEFAULT NULL, + `HelferLevel` int(11) DEFAULT NULL, + PRIMARY KEY (`DienstID`) +); +DROP TABLE IF EXISTS `EinzelSchicht`; +CREATE TABLE `EinzelSchicht` ( + `EinzelSchichtID` int(11) NOT NULL AUTO_INCREMENT, + `SchichtID` int(11) NOT NULL, + `HelferID` int(11) NOT NULL, + PRIMARY KEY (`EinzelSchichtID`) +); +DROP TABLE IF EXISTS `Helfer`; +CREATE TABLE `Helfer` ( + `HelferId` int(11) NOT NULL AUTO_INCREMENT, + `Name` varchar(50) NOT NULL, + `Status` int(11) NOT NULL, + `Email` varchar(50) NOT NULL, + `Handy` varchar(50) NOT NULL, + `BildFile` varchar(200) NOT NULL, + `DoReport` tinyint(1) NOT NULL, + `Admin` int(11) DEFAULT 0, + `Passwort` varchar(200) DEFAULT NULL, + `HelferLevel` int(11) DEFAULT NULL, + PRIMARY KEY (`HelferId`), + UNIQUE KEY `unique_index_email` (`Email`) +); +DROP TABLE IF EXISTS `HelferLevel`; +CREATE TABLE `HelferLevel` ( + `HelferLevel` int(11) DEFAULT NULL, + `HelferLevelBeschreibung` varchar(255) DEFAULT NULL +); +INSERT INTO HelferLevel(HelferLevel, HelferLevelBeschreibung) +VALUES (1,'Orga'); +INSERT INTO HelferLevel(HelferLevel, HelferLevelBeschreibung) +VALUES (2,'Teilnehmer'); +DROP TABLE IF EXISTS `Schicht`; +CREATE TABLE `Schicht` ( + `SchichtID` int(11) NOT NULL AUTO_INCREMENT, + `DienstID` int(11) NOT NULL, + `Von` datetime NOT NULL, + `Bis` datetime NOT NULL, + `Soll` int(11) NOT NULL, + `Dauer` time DEFAULT NULL, + PRIMARY KEY (`SchichtID`) +); +DROP TABLE IF EXISTS `Status`; +CREATE TABLE `Status` ( + `StatusID` int(11) NOT NULL AUTO_INCREMENT, + `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 new file mode 100644 index 0000000..9823983 --- /dev/null +++ b/helferdb_structure_sqlite.sql @@ -0,0 +1,62 @@ +DROP TABLE IF EXISTS `Dienst`; +CREATE TABLE `Dienst` ( + `DienstID` int(11) NOT NULL, + `Was` text NOT NULL, + `Wo` text NOT NULL, + `Info` text NOT NULL, + `Leiter` int(11) NOT NULL, + `ElternDienstID` int(11) DEFAULT NULL, + `HelferLevel` int(11) DEFAULT NULL, + PRIMARY KEY (`DienstID`) +); +DROP TABLE IF EXISTS `EinzelSchicht`; +CREATE TABLE `EinzelSchicht` ( + `EinzelSchichtID` int(11) NOT NULL, + `SchichtID` int(11) NOT NULL, + `HelferID` int(11) NOT NULL, + PRIMARY KEY (`EinzelSchichtID`) +); +DROP TABLE IF EXISTS `Helfer`; +CREATE TABLE `Helfer` ( + `HelferId` int(11) NOT NULL, + `Name` varchar(50) NOT NULL, + `Status` int(11) NOT NULL, + `Email` varchar(50) NOT NULL, + `Handy` varchar(50) NOT NULL, + `BildFile` varchar(200) NOT NULL, + `DoReport` tinyint(1) NOT NULL, + `Admin` int(11) DEFAULT 0, + `Passwort` varchar(200) DEFAULT NULL, + `HelferLevel` int(11) DEFAULT NULL, + PRIMARY KEY (`HelferId`), + UNIQUE('Email') +); +DROP TABLE IF EXISTS `HelferLevel`; +CREATE TABLE `HelferLevel` ( + `HelferLevel` int(11) DEFAULT NULL, + `HelferLevelBeschreibung` varchar(255) DEFAULT NULL +); +DROP TABLE IF EXISTS `Schicht`; +CREATE TABLE `Schicht` ( + `SchichtID` int(11) NOT NULL, + `DienstID` int(11) NOT NULL, + `Von` datetime NOT NULL, + `Bis` datetime NOT NULL, + `Soll` int(11) NOT NULL, + `Dauer` time DEFAULT NULL, + PRIMARY KEY (`SchichtID`) +); +DROP TABLE IF EXISTS `Status`; +CREATE TABLE `Status` ( + `StatusID` int(11) NOT NULL, + `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/Admin.php b/html/Admin.php index 57e627d..e3b95c3 100644 --- a/html/Admin.php +++ b/html/Admin.php @@ -1,4 +1,7 @@ '; - $db_erg = HelferListe($db_link); - while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { + $zeilen = HelferListe(); + foreach ($zeilen as $zeile) { if ($AliasHelferID != $zeile['HelferID']) { echo "