From 698db1235e122b14c0f19b11bd6630be923b2cfa Mon Sep 17 00:00:00 2001 From: Karsten Siegmund Date: Mon, 25 Mar 2024 22:42:02 +0100 Subject: [PATCH] Anzeige (belegt/total) pro dienst. HelferLevel Korrekturen --- html/AdminAlleSchichten.php | 171 +++++++++++++++++++++--------------- html/AlleSchichten.php | 160 +++++++++++++++++++-------------- html/SQL.php | 27 ++++-- 3 files changed, 216 insertions(+), 142 deletions(-) diff --git a/html/AdminAlleSchichten.php b/html/AdminAlleSchichten.php index 616a41d..910ee3d 100644 --- a/html/AdminAlleSchichten.php +++ b/html/AdminAlleSchichten.php @@ -4,6 +4,7 @@ require_once 'konfiguration.php'; SESSION_START(); require 'SQL.php'; $db_link = ConnectDB(); +// zeigt login-Seite an, wenn keine Session besteht require '_login.php'; if ($AdminStatus != 1) { @@ -14,7 +15,7 @@ if ($AdminStatus != 1) { ?> - + <?php echo EVENTNAME ?> Alle Schichten @@ -24,12 +25,15 @@ if ($AdminStatus != 1) { - - - -" . EVENTNAME . ""; ?> -
- + + + " . EVENTNAME . ""; ?> +

Alle Schichten / Schichten hinzufügen

+
+ ". $SchichtID . "
"; - $zeile = DetailSchicht($db_link, $InfoMeineSchichtID); + $zeile = DetailSchicht($db_link, $SchichtID); $Was = $zeile['Was']; $Wo = $zeile['Wo']; @@ -51,40 +58,42 @@ if (isset($_POST['InfoMeineSchichtID'])) { $LeiterHandy = $zeile['Handy']; $LeiterEmail = $zeile['Email']; $Info = $zeile['Info']; -} - - -if (isset($_GET['InfoAlleSchichtID'])) { - $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; - unset($InfoMeineSchichtID); - //echo "". $SchichtID . "
"; - - $zeile = DetailSchicht($db_link, $InfoAlleSchichtID); - - $Was = $zeile['Was']; - $Wo = $zeile['Wo']; - $Dauer = $zeile['Dauer']; - $Leiter = $zeile['Name']; - $LeiterHandy = $zeile['Handy']; - $LeiterEmail = $zeile['Email']; - $Info = $zeile['Info']; - - - - // Beteiligte Helfer Holen - $db_erg = BeteiligteHelfer($db_link, $InfoAlleSchichtID); - - - $x = 0; - - while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - $MitHelferID[$x] = $zeile['HelferID']; - $MitHelfer[$x] = $zeile['Name']; - $MitHelferHandy[$x] = $zeile['Handy']; - $x++; + $db_link->close(); } -} +// wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier +//if (isset($_GET['InfoAlleSchichtID'])) { +// $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; +// unset($InfoMeineSchichtID); +// //echo "". $SchichtID . "
"; +// +// $zeile = DetailSchicht($db_link, $InfoAlleSchichtID); +// +// $Was = $zeile['Was']; +// $Wo = $zeile['Wo']; +// $Dauer = $zeile['Dauer']; +// $Leiter = $zeile['Name']; +// $LeiterHandy = $zeile['Handy']; +// $LeiterEmail = $zeile['Email']; +// $Info = $zeile['Info']; +// +// +// +// // Beteiligte Helfer Holen +// $db_erg = BeteiligteHelfer($db_link, $InfoAlleSchichtID); +// +// +// $x = 0; +// +// while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { +// $MitHelferID[$x] = $zeile['HelferID']; +// $MitHelfer[$x] = $zeile['Name']; +// $MitHelferHandy[$x] = $zeile['Handy']; +// $x++; +// } +//} + +// Auswahl Tag oberhalb der Dienstetabelle if (isset($_GET['ZeitBereich'])) { $ZeitBereich = $_GET['ZeitBereich']; } else { @@ -122,6 +131,7 @@ $AdminID = $_SESSION["AdminID"]; $db_erg = Helferdaten($db_link, $AliasHelferID); while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $HelferName = $zeile['Name']; + $AliasHelferLevel = $zeile['HelferLevel']; } // Helferliste Anzeigen @@ -130,8 +140,6 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { ?> - -
'); } else { // Fehlermeldungen ausgeben: echo '
    '; @@ -165,10 +172,12 @@ if (isset($_POST['plusschicht'])) { } if (isset($_POST['minusschicht'])) { - // Mich aus Schicht entfernen + // Mich aus Schicht entfernen $messages = []; $SchichtID = $_POST['minusschicht']; + // Nutzer hat hier zuletzt etwas geaenndert und wir klappen das deshalb auf: + $_SESSION["SchichtIdAktiv"] = $SchichtID; if (empty($messages)) { // Helfer aus Schicht entfernen @@ -197,9 +206,9 @@ if (isset($_POST['minusschicht'])) { echo '
    '; echo '' . "Dienstplan von $HelferName: "; echo $zeile['Anzahl']; - echo " Schichten insgesamt "; + echo " Schichten, "; echo $zeile['Dauer'] / 3600; - echo " Stunden"; + echo " Stunden)"; echo '


    '; /// Schichten Auswahl //////////////////////////////////////////////////////// @@ -207,7 +216,8 @@ $addschicht = $_SESSION["addschicht"]; $dienstsort = $_SESSION["dienstsort"]; - +//addschicht und dienst-sort sollten wohl nach Diensten bzw Tagen sortieren +//addschicht wird gerade nie gesetzt, dienst-sort damit auch nicht if (isset($_POST['addschicht']) && $_POST['addschicht'] == '1') { $addschicht = '1'; $dienstsort = '1'; @@ -231,27 +241,35 @@ if ($addschicht == '0') { echo "

    "; } -//echo "InfoAlleSchichtID ".$InfoAlleSchichtID; -if ($addschicht != '0') { +if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Diensten sortieren, macht es aber nicht echo ''; require('_zeitbereich.php'); $Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, "AdminAlleSchichten.php"); $MeinVon = $Bereich['MeinVon']; $MeinBis = $Bereich['MeinBis']; - $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, -1); + $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $AliasHelferLevel); // fuer Anzahlanzeige in Ueberschrift $iAlleSchichtenCount = AlleSchichtenCount($db_link); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link); echo '
    '; + echo ""; - //echo "

    "; + // "Alle Schichten der Con" echo ''; echo ""; - echo ""; + echo ""; + $alleHelferLevel = array(1, 2); + + foreach ($alleHelferLevel as $HelferLevelIteration) { + $meine = ""; + if($HelferLevelIteration == $AliasHelferLevel) { $meine = " ← mein Level";} + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); + echo ""; + } - echo ""; $OldTag = ""; $OldWas = ""; @@ -260,10 +278,10 @@ if ($addschicht != '0') { //print_r($MeineDienste); echo '
    Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
    Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "
       → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
    '; + // Tabelle mit allen Diensten und Schichten echo ''; - while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - if ($dienstsort == '1') { + if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt $Tag = $zeile['Tag']; if ($Tag != $OldTag) { @@ -275,18 +293,27 @@ if ($addschicht != '0') { } else { $Was = $zeile['Was']; - if ($Was != $OldWas) { + if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist // + in becomes - when rows are opened - echo ""; - /* - echo ""; - echo ""; - echo ""; - echo ""; - */ echo ""; + SchichtInfo($SchichtID,$InfoWas,$InfoWo,$InfoDauer,$Leiter,$LeiterHandy,$LeiterEmail,$Info); + if(true){ + echo "\n"; + } $OldWas = $Was; } } @@ -307,13 +334,13 @@ if ($addschicht != '0') { // Meine Schichten gruen einfaerben if (in_array($zeile['SchichtID'], $MeineDienste)) { $rowstyle = ' style="background-color:lightgreen" '; - $regtext = 'Meine!'; + $regtext = '
    Meine!
    '; } else { // dummy-style, um SchichtID unsichtbar im Tag anzuzeigen $rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" '; $regtext = ''; } - if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { + if (isset($_SESSION["SchichtIdAktiv"]) && $_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { $rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something } @@ -328,9 +355,11 @@ if ($addschicht != '0') { echo ""; echo ""; - // buttons sind in der selben Zelle - echo ""; + // durch space:nowrap wird ein Umbruch zwischen den Buttons verhindert + // in Kombi mit width:1% wird immer der minimale Platz für die Spalte belegt + // width:200px oder max-width:200px hat zu viel weissem Platz rechts und enge links gefuehrt + echo ""; echo "\n"; } echo "
    + "; - echo $Was; + echo "
    + "; + $SchichtID=$zeile['SchichtID']; + $DienstID=$zeile['DienstID']; + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $AliasHelferLevel,$DienstID); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$AliasHelferLevel,$DienstID); + echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) "; echo "". "Von" . "". "Bis" . "". "Ist/Soll" . "". "Add" . "
    "; + echo "Beschreibung: $Info

    "; + echo "Ort: $InfoWo
    "; + //echo "Dauer: $InfoDauer
    "; // verschieden je nach Einzelschicht + echo "Ansprechparter:" . $Leiter . ", "; + echo $LeiterHandy . ", "; + echo "$LeiterEmail"; + echo "
    " . $Bis . "" . $zeile['Ist'] . "/"; echo "" . $zeile['Soll'] . "" . "" . ""; - echo "   $regtext" . ""; + echo "   $regtext" . "
    "; diff --git a/html/AlleSchichten.php b/html/AlleSchichten.php index e78e088..cba88a6 100644 --- a/html/AlleSchichten.php +++ b/html/AlleSchichten.php @@ -1,31 +1,33 @@ - - Helfer <?php echo EVENTNAME ?> Alle Schichten + + <?php echo EVENTNAME ?> Alle Schichten - + - - - - -" . EVENTNAME . ""; ?> -

    Alle Schichten / Schichten hinzufügen

    -
    - + + + " . EVENTNAME . ""; ?> +

    Alle Schichten / Schichten hinzufügen

    +
    + ". $SchichtID . "
    "; +// wird nie gesetzt +//if (isset($_POST['InfoMeineSchichtID'])) { +function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$LeiterEmail,&$Info){ + $db_link = ConnectDB(); +// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; - $zeile = DetailSchicht($db_link, $InfoMeineSchichtID); + $zeile = DetailSchicht($db_link, $SchichtID); $Was = $zeile['Was']; $Wo = $zeile['Wo']; @@ -47,40 +50,42 @@ if (isset($_POST['InfoMeineSchichtID'])) { $LeiterHandy = $zeile['Handy']; $LeiterEmail = $zeile['Email']; $Info = $zeile['Info']; -} - - -if (isset($_GET['InfoAlleSchichtID'])) { - $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; - unset($InfoMeineSchichtID); - //echo "". $SchichtID . "
    "; - - $zeile = DetailSchicht($db_link, $InfoAlleSchichtID); - - $Was = $zeile['Was']; - $Wo = $zeile['Wo']; - $Dauer = $zeile['Dauer']; - $Leiter = $zeile['Name']; - $LeiterHandy = $zeile['Handy']; - $LeiterEmail = $zeile['Email']; - $Info = $zeile['Info']; - - - - // Beteiligte Helfer Holen - $db_erg = BeteiligteHelfer($db_link, $InfoAlleSchichtID); - - - $x = 0; - - while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - $MitHelferID[$x] = $zeile['HelferID']; - $MitHelfer[$x] = $zeile['Name']; - $MitHelferHandy[$x] = $zeile['Handy']; - $x++; + $db_link->close(); } -} +// wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier +//if (isset($_GET['InfoAlleSchichtID'])) { +// $InfoAlleSchichtID = $_GET['InfoAlleSchichtID']; +// unset($InfoMeineSchichtID); +// //echo "". $SchichtID . "
    "; +// +// $zeile = DetailSchicht($db_link, $InfoAlleSchichtID); +// +// $Was = $zeile['Was']; +// $Wo = $zeile['Wo']; +// $Dauer = $zeile['Dauer']; +// $Leiter = $zeile['Name']; +// $LeiterHandy = $zeile['Handy']; +// $LeiterEmail = $zeile['Email']; +// $Info = $zeile['Info']; +// +// +// +// // Beteiligte Helfer Holen +// $db_erg = BeteiligteHelfer($db_link, $InfoAlleSchichtID); +// +// +// $x = 0; +// +// while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { +// $MitHelferID[$x] = $zeile['HelferID']; +// $MitHelfer[$x] = $zeile['Name']; +// $MitHelferHandy[$x] = $zeile['Handy']; +// $x++; +// } +//} + +// Auswahl Tag oberhalb der Dienstetabelle if (isset($_GET['ZeitBereich'])) { $ZeitBereich = $_GET['ZeitBereich']; } else { @@ -126,7 +131,7 @@ if (isset($_POST['plusschicht'])) { } if (isset($_POST['minusschicht'])) { - // Mich aus Schicht entfernen + // Mich aus Schicht entfernen $messages = []; $SchichtID = $_POST['minusschicht']; @@ -142,7 +147,6 @@ if (isset($_POST['minusschicht'])) { foreach ($messages as $message) { echo '
  • ' . htmlspecialchars($message) . '
  • '; } - echo '
'; } } @@ -170,7 +174,8 @@ $addschicht = $_SESSION["addschicht"]; $dienstsort = $_SESSION["dienstsort"]; - +//addschicht und dienst-sort sollten wohl nach Diensten bzw Tagen sortieren +//addschicht wird gerade nie gesetzt, dienst-sort damit auch nicht if (isset($_POST['addschicht']) && $_POST['addschicht'] == '1') { $addschicht = '1'; $dienstsort = '1'; @@ -195,13 +200,13 @@ if ($addschicht == '0') { } -if ($addschicht != '0') { +if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Diensten sortieren, macht es aber nicht echo ''; require('_zeitbereich.php'); $Bereich = AusgabeZeitbereichZeile($start_date, $ZeitBereich, $TageNamenDeutsch, "AlleSchichten.php"); $MeinVon = $Bereich['MeinVon']; $MeinBis = $Bereich['MeinBis']; - $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, -1); + $db_erg = AlleSchichtenImZeitbereich($db_link, $MeinVon, $MeinBis, $HelferLevel); // fuer Anzahlanzeige in Ueberschrift $iAlleSchichtenCount = AlleSchichtenCount($db_link); @@ -212,9 +217,17 @@ if ($addschicht != '0') { // "Alle Schichten der Con" echo '
'; echo ""; - echo ""; + echo ""; + $alleHelferLevel = array(1, 2); + + foreach ($alleHelferLevel as $HelferLevelIteration) { + $meine = ""; + if($HelferLevelIteration == $HelferLevel) { $meine = " ← mein Level";} + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); + echo ""; + } - echo ""; $OldTag = ""; $OldWas = ""; @@ -226,7 +239,7 @@ if ($addschicht != '0') { // Tabelle mit allen Diensten und Schichten echo '
Alle Schichten der Con (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ")
Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "
   → Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine
'; while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { - if ($dienstsort == '1') { + if ($dienstsort == '1') { // dienst-sort wird momentan nie gesetzt, also immer else-Teil ausgeführt $Tag = $zeile['Tag']; if ($Tag != $OldTag) { @@ -238,12 +251,27 @@ if ($addschicht != '0') { } else { $Was = $zeile['Was']; - if ($Was != $OldWas) { + if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist // + in becomes - when rows are opened - echo ""; echo ""; + SchichtInfo($SchichtID,$InfoWas,$InfoWo,$InfoDauer,$Leiter,$LeiterHandy,$LeiterEmail,$Info); + if(true){ + echo "\n"; + } $OldWas = $Was; } } @@ -264,13 +292,13 @@ if ($addschicht != '0') { // Meine Schichten gruen einfaerben if (in_array($zeile['SchichtID'], $MeineDienste)) { $rowstyle = ' style="background-color:lightgreen" '; - $regtext = 'Meine!'; + $regtext = '
Meine!
'; } else { // dummy-style, um SchichtID unsichtbar im Tag anzuzeigen $rowstyle = 'dbinfo="SchichtID:' . $zeile['SchichtID'] . ';helferlvl:' . $HelferLevel . '" '; $regtext = ''; } - if ($_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { + if (isset($_SESSION["SchichtIdAktiv"]) && $_SESSION["SchichtIdAktiv"] == $zeile['SchichtID']) { $rowstyle = $rowstyle . " target='active' "; // dont collapse when the user did something } @@ -285,9 +313,11 @@ if ($addschicht != '0') { echo ""; echo ""; - // buttons sind in der selben Zelle - echo ""; + // durch space:nowrap wird ein Umbruch zwischen den Buttons verhindert + // in Kombi mit width:1% wird immer der minimale Platz für die Spalte belegt + // width:200px oder max-width:200px hat zu viel weissem Platz rechts und enge links gefuehrt + echo ""; echo "\n"; } echo "
+ "; - echo $Was; + echo "
+ "; + $SchichtID=$zeile['SchichtID']; + $DienstID=$zeile['DienstID']; + $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevel,$DienstID); + $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevel,$DienstID); + echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) "; echo "
"; + echo "Beschreibung: $Info

"; + echo "Ort: $InfoWo
"; + //echo "Dauer: $InfoDauer
"; // verschieden je nach Einzelschicht + echo "Ansprechparter:" . $Leiter . ", "; + echo $LeiterHandy . ", "; + echo "$LeiterEmail"; + echo "
" . $Bis . "" . $zeile['Ist'] . "/"; echo "" . $zeile['Soll'] . "" . "" . ""; - echo "   $regtext" . ""; + echo "   $regtext" . "
"; diff --git a/html/SQL.php b/html/SQL.php index b8014fa..2b9e058 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -191,11 +191,18 @@ function AlleSchichten($db_link, $Sort, $HelferLevel = 1) return $db_erg; } -function AlleSchichtenCount($db_link, $HelferLevel = 1) +function AlleSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1) { + $nurDienst=""; + if( $DienstID != -1 ) { + $nurDienst = " and Dienst.DienstID = $DienstID"; + } + $nurHelferLevel=""; + if( $HelferLevel != -1 ) { + $nurHelferLevel = " and HelferLevel = $HelferLevel "; + } - //$sql = "select SUM(Soll) As Anzahl from SchichtUebersicht where HelferLevel=$HelferLevel"; - $sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID and HelferLevel=$HelferLevel"; +$sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst"; $db_erg = mysqli_query($db_link, $sql); @@ -211,11 +218,19 @@ function AlleSchichtenCount($db_link, $HelferLevel = 1) } -function AlleBelegteSchichtenCount($db_link, $HelferLevel = 1) +function AlleBelegteSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1) { + $nurDienst=""; + if( $DienstID != -1 ) { + $nurDienst = " and Dienst.DienstID = $DienstID"; + } + $nurHelferLevel=""; + if( $HelferLevel != -1 ) { + $nurHelferLevel = " and HelferLevel = $HelferLevel "; + } - $sql = "select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID and HelferLevel=$HelferLevel"; + $sql = "select Count(HelferID) As Anzahl from EinzelSchicht,Schicht,Dienst Where EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst"; $db_erg = mysqli_query($db_link, $sql); @@ -242,7 +257,7 @@ function AlleSchichtenImZeitbereich($db_link, $Von, $Bis, $HelferLevel = 1) $sql_helferlevel = ""; } - $sql = "select SchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis,C AS Ist,DATE_FORMAT(Von,'%W %d %M') As Tag, Soll from Dienst,SchichtUebersicht where Von >= '" . $Von . "' and Von <'" . $Bis . "' and Dienst.DienstID=SchichtUebersicht.DienstID $sql_helferlevel order by Was,Von"; + $sql = "select SchichtID,Was,DATE_FORMAT(Von,'%a %H:%i') AS Ab,DATE_FORMAT(Bis,'%a %H:%i') AS Bis,C AS Ist,DATE_FORMAT(Von,'%W %d %M') As Tag, Soll, Dienst.DienstID from Dienst,SchichtUebersicht where Von >= '" . $Von . "' and Von <'" . $Bis . "' and Dienst.DienstID=SchichtUebersicht.DienstID $sql_helferlevel order by Was,Von"; error_log("AlleSchichtenImZeitbereich sql " . $sql); $db_erg = mysqli_query($db_link, $sql);