diff --git a/html/AdminHelferUebersicht.php b/html/AdminHelferUebersicht.php index e5158f6..559f014 100644 --- a/html/AdminHelferUebersicht.php +++ b/html/AdminHelferUebersicht.php @@ -68,7 +68,7 @@ if (isset($_POST['DienstSearch'])) { echo "

"; ?> - +
  Übersicht Helfer und Ihre Schichten   Übersicht Helfer und Ihre Schichten (Helfer ohne Schichten werden momentan noch nicht angezeigt)
@@ -76,38 +76,44 @@ echo "

"; $db_erg = AlleHelferSchichtenUebersicht($db_link); $dauer = 0; $i = 0; -$OldHelferName = ""; -$EinzelDienstStunden = ""; +$OldAliasHelferID = "-1"; +$EinzelDienstStundenZeile = ""; // Tabellenzeile mit EinzelDienstStunden $HelferUeberschrift = ""; + +// Function to output helper information +function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile) { + echo "$HelferUeberschrift "; + echo ""; + echo "$EinzelDienstStundenZeile\n "; +} + while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $HelferName = $zeile["Name"]; $AliasHelferID = $zeile["AliasHelferID"]; - //echo $HelferName." ".$AliasHelferID."
"; - if ($HelferName != $OldHelferName) { - if ($EinzelDienstStunden != "") { - // Neue Ueberschrift mit Helfernamen + Stunden - echo "$HelferUeberschrift "; - echo ""; - $dauer = 0; - echo "$EinzelDienstStunden\n "; + if ($AliasHelferID != $OldAliasHelferID) { + if ($EinzelDienstStundenZeile != "") { + outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile); } - $EinzelDienstStunden = ""; + $dauer = 0; + $EinzelDienstStundenZeile = ""; $HelferUeberschrift = " "; + $EinzelDienstStundenZeile .= ""; $dauer = $dauer + (int)$zeile["Dauer"]; } -echo "$EinzelDienstStunden"; +if ($EinzelDienstStundenZeile != "") { + outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile); + } echo "
$dauer Stunden
"; + echo "
\n"; + echo "  "; + echo "
"; + echo "
"; + echo "
$dauer Stunden
"; - echo "
\n"; - echo "  "; - echo "
"; - echo "
"; - echo "
" . $HelferName . "
"; $OldHelferName = $HelferName; $OldAliasHelferID = $AliasHelferID; $i += 1; } - $EinzelDienstStunden .= "
" . (int)$zeile["Dauer"] . ""; - $EinzelDienstStunden .= $zeile["Was"]; - $EinzelDienstStunden .= "
" . (int)$zeile["Dauer"] . ""; + $EinzelDienstStundenZeile .= $zeile["Was"]; + $EinzelDienstStundenZeile .= "
"; diff --git a/html/SQL.php b/html/SQL.php index 5e60ea0..8c0ea31 100644 --- a/html/SQL.php +++ b/html/SQL.php @@ -726,6 +726,8 @@ function DeleteSchicht($db_link, $SchichtID, $Rekursiv) function AlleHelferSchichtenUebersicht($db_link) { $sql = "select Helfer.HelferID as AliasHelferID,Name,Email,Handy,Was,SUM(Dauer)/10000 as Dauer from Helfer,EinzelSchicht INNER JOIN Schicht INNER JOIN Dienst where Helfer.HelferID=EinzelSchicht.HelferID and EinzelSchicht.SchichtID=Schicht.SchichtID and Schicht.DienstID=Dienst.DienstID group by Helfer.HelferID,Was"; + $sql = $sql . " UNION ALL "; + $sql = $sql . "select Helfer.HelferID as AliasHelferID,Name,Email,Handy,'-' as Was,0 as Dauer from Helfer,EinzelSchicht where not exists(select 1 from EinzelSchicht where Helfer.HelferID=EinzelSchicht.HelferID)"; $db_erg = mysqli_query($db_link, $sql); if (! $db_erg) { echo "AlleHelferSchichtenUebersicht ungueltige Abfrage";