bugfix helferübersicht, header-headers, back-links helferübersicht

This commit is contained in:
Karsten Siegmund 2024-03-27 11:03:09 +01:00
parent 40b19effe1
commit c42016474f
7 changed files with 156 additions and 132 deletions

View File

@ -27,7 +27,7 @@ if ($AdminStatus != 1) {
</script> </script>
</head> </head>
<body> <body>
<button name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"> <button name="BackHelferdaten" value="1" onclick="window.location.href = 'AdminHelferUebersicht.php';">
<b>&larrhk;</b> <b>&larrhk;</b>
</button> </button>
<?php echo "<b>" . EVENTNAME . "</b>"; ?> <?php echo "<b>" . EVENTNAME . "</b>"; ?>
@ -37,28 +37,29 @@ if ($AdminStatus != 1) {
/// Detailinformation zu ausgewaehlten Schicht Holen /// Detailinformation zu ausgewaehlten Schicht Holen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
if (isset($_POST['CloseInfo'])) { if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID); unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID); unset($InfoAlleSchichtID);
} }
// wird nie gesetzt // wird nie gesetzt
//if (isset($_POST['InfoMeineSchichtID'])) { //if (isset($_POST['InfoMeineSchichtID'])) {
function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$LeiterEmail,&$Info){ function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info)
$db_link = ConnectDB(); {
// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; $db_link = ConnectDB();
unset($InfoAlleSchichtID); // $InfoMeineSchichtID = $_POST['InfoMeineSchichtID'];
//echo "<b>". $SchichtID . "</b><br>"; unset($InfoAlleSchichtID);
//echo "<b>". $SchichtID . "</b><br>";
$zeile = DetailSchicht($db_link, $SchichtID); $zeile = DetailSchicht($db_link, $SchichtID);
$Was = $zeile['Was']; $Was = $zeile['Was'];
$Wo = $zeile['Wo']; $Wo = $zeile['Wo'];
$Dauer = $zeile['Dauer']; $Dauer = $zeile['Dauer'];
$Leiter = $zeile['Name']; $Leiter = $zeile['Name'];
$LeiterHandy = $zeile['Handy']; $LeiterHandy = $zeile['Handy'];
$LeiterEmail = $zeile['Email']; $LeiterEmail = $zeile['Email'];
$Info = $zeile['Info']; $Info = $zeile['Info'];
$db_link->close(); $db_link->close();
} }
// wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier // wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier
@ -94,50 +95,50 @@ function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$Leit
//} //}
// Auswahl Tag oberhalb der Dienstetabelle // Auswahl Tag oberhalb der Dienstetabelle
if (isset($_GET['ZeitBereich'])) { if (isset($_GET['ZeitBereich'])) {
$ZeitBereich = $_GET['ZeitBereich']; $ZeitBereich = $_GET['ZeitBereich'];
} else { } else {
$ZeitBereich = 0; $ZeitBereich = 0;
}
function HelferAuswahlButton($db_link, $AliasHelferID)
{
echo '<b>Helfer w&auml;hlen:<b> <form style="display:inline-block;" method=post><select style="height:33px;width:350px;" name="AliasHelferID" id="AliasHelferID" onchange="submit()">';
$db_erg = HelferListe($db_link);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
if ($AliasHelferID != $zeile['HelferID']) {
echo "<option value='" . $zeile['HelferID'] . "'>" . $zeile['Name'] . "</optionen>";
} else {
echo "<option value='" . $zeile['HelferID'] . "' selected='selected'>" . $zeile['Name'] . "</optionen>";
}
} }
echo '</select></form>';
}
if (isset($_POST['AliasHelferID'])) { function HelferAuswahlButton($db_link, $AliasHelferID)
$AliasHelferID = $_POST['AliasHelferID']; {
} elseif (isset($_SESSION["AliasHelferID"])) { echo '<b>Helfer w&auml;hlen:<b> <form style="display:inline-block;" method=post><select style="height:33px;width:350px;" name="AliasHelferID" id="AliasHelferID" onchange="submit()">';
$AliasHelferID = $_SESSION["AliasHelferID"]; $db_erg = HelferListe($db_link);
} else { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
if ($AliasHelferID != $zeile['HelferID']) {
echo "<option value='" . $zeile['HelferID'] . "'>" . $zeile['Name'] . "</optionen>";
} else {
echo "<option value='" . $zeile['HelferID'] . "' selected='selected'>" . $zeile['Name'] . "</optionen>";
}
}
echo '</select></form>';
}
if (isset($_POST['AliasHelferID'])) {
$AliasHelferID = $_POST['AliasHelferID'];
} elseif (isset($_SESSION["AliasHelferID"])) {
$AliasHelferID = $_SESSION["AliasHelferID"];
} else {
HelferAuswahlButton($db_link, $AliasHelferID);
echo "<p>Erst Helfer auswählen</p>";
exit;
}
HelferAuswahlButton($db_link, $AliasHelferID); HelferAuswahlButton($db_link, $AliasHelferID);
echo "<p>Erst Helfer auswählen</p>";
exit;
}
HelferAuswahlButton($db_link, $AliasHelferID);
$_SESSION["AliasHelferID"] = $AliasHelferID; $_SESSION["AliasHelferID"] = $AliasHelferID;
$AdminID = $_SESSION["AdminID"]; $AdminID = $_SESSION["AdminID"];
$db_erg = Helferdaten($db_link, $AliasHelferID); $db_erg = Helferdaten($db_link, $AliasHelferID);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferName = $zeile['Name']; $HelferName = $zeile['Name'];
$AliasHelferLevel = $zeile['HelferLevel']; $AliasHelferLevel = $zeile['HelferLevel'];
} }
// Helferliste Anzeigen // Helferliste Anzeigen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
?> ?>
<form method="post" action="AdminAlleSchichten.php#Info"> <form method="post" action="AdminAlleSchichten.php#Info">
@ -263,11 +264,13 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
$alleHelferLevel = array(1, 2); $alleHelferLevel = array(1, 2);
foreach ($alleHelferLevel as $HelferLevelIteration) { foreach ($alleHelferLevel as $HelferLevelIteration) {
$meine = ""; $meine = "";
if($HelferLevelIteration == $AliasHelferLevel) { $meine = " &leftarrow; mein Level";} if ($HelferLevelIteration == $AliasHelferLevel) {
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $meine = " &leftarrow; mein Level";
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); }
echo "<tr><th colspan='5'>&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>"; $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration);
echo "<tr><th colspan='5'>&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>";
} }
@ -296,23 +299,23 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist
// + in <span> becomes - when rows are opened // + in <span> becomes - when rows are opened
echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> "; echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> ";
$SchichtID=$zeile['SchichtID']; $SchichtID = $zeile['SchichtID'];
$DienstID=$zeile['DienstID']; $DienstID = $zeile['DienstID'];
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $AliasHelferLevel,$DienstID); $iAlleSchichtenCount = AlleSchichtenCount($db_link, $AliasHelferLevel, $DienstID);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$AliasHelferLevel,$DienstID); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $AliasHelferLevel, $DienstID);
echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) <!-- Abfrage $AliasHelferLevel, $DienstID -->"; echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) <!-- Abfrage $AliasHelferLevel, $DienstID -->";
echo "</th>"; echo "</th>";
echo "</tr>"; echo "</tr>";
SchichtInfo($SchichtID,$InfoWas,$InfoWo,$InfoDauer,$Leiter,$LeiterHandy,$LeiterEmail,$Info); SchichtInfo($SchichtID, $InfoWas, $InfoWo, $InfoDauer, $Leiter, $LeiterHandy, $LeiterEmail, $Info);
if(true){ if (true) {
echo "<tr><td colspan=5 style='background:lightblue'>"; echo "<tr><td colspan=5 style='background:lightblue'>";
echo "<b>Beschreibung:</b> $Info <br><br>"; echo "<b>Beschreibung:</b> $Info <br><br>";
echo "<b>Ort:</b> $InfoWo <br>"; echo "<b>Ort:</b> $InfoWo <br>";
//echo "<b>Dauer:</b> $InfoDauer<br>"; // verschieden je nach Einzelschicht //echo "<b>Dauer:</b> $InfoDauer<br>"; // verschieden je nach Einzelschicht
echo "<b>Ansprechparter:</b>" . $Leiter . ", "; echo "<b>Ansprechparter:</b>" . $Leiter . ", ";
echo $LeiterHandy . ", "; echo $LeiterHandy . ", ";
echo "$LeiterEmail"; echo "$LeiterEmail";
echo "</td></td></tr>\n"; echo "</td></td></tr>\n";
} }
$OldWas = $Was; $OldWas = $Was;
} }

View File

@ -92,7 +92,7 @@ function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer,
echo "</div></th>"; echo "</div></th>";
echo "$EinzelDienstStundenZeile</td></tr>\n "; echo "$EinzelDienstStundenZeile</td></tr>\n ";
} }
echo "<tr class='header infoheader'><th>Accountdaten</th><th>Schichten</th><th>Schichten Ändern</th></tr>";
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferName = $zeile["Name"]; $HelferName = $zeile["Name"];
$HelferLevel = $zeile["HelferLevel"]; $HelferLevel = $zeile["HelferLevel"];
@ -103,7 +103,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
} }
$dauer = 0; $dauer = 0;
$EinzelDienstStundenZeile = ""; $EinzelDienstStundenZeile = "";
$HelferUeberschrift = " <tr class='header'> <th width='15%'> <form id='form_" . $AliasHelferID . "' method='post' action='AdminUserdaten.php'><input type='hidden' name='AliasHelferID' value='" . $AliasHelferID . "'/><div onclick=\"document.getElementById('form_" . $AliasHelferID . "').submit();\"/><img style='vertical-align:middle;width:30px;height:30px;' src='Bilder/PfeilRechts.jpeg'>$HelferName (Lvl:$HelferLevel) </div></form>"; $HelferUeberschrift = " <tr class='header'> <th width='15%'> <form id='form_" . $AliasHelferID . "' method='post' action='AdminUserdaten.php'><input type='hidden' name='AliasHelferID' value='" . $AliasHelferID . "'/><div onclick=\"document.getElementById('form_" . $AliasHelferID . "').submit();\"/><img style='vertical-align:middle;width:30px;height:30px;' src='Bilder/PfeilRechts.jpeg'>&nbsp;$HelferName (Lvl:$HelferLevel) </div></form>";
$OldHelferName = $HelferName; $OldHelferName = $HelferName;
$OldAliasHelferID = $AliasHelferID; $OldAliasHelferID = $AliasHelferID;
$i += 1; $i += 1;

View File

@ -23,7 +23,7 @@ if ($AdminStatus != 1) {
<meta name="viewport" content="width=480" /> <meta name="viewport" content="width=480" />
</head> </head>
<body> <body>
<div><button name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"><b>&larrhk;</b></button> <h4 style="display: inline;">Admin: Schichten editieren - <div><button name="BackHelferdaten" value="1" onclick="window.location.href = 'AdminHelferUebersicht.php';"><b>&larrhk;</b></button> <h4 style="display: inline;">Admin: Schichten editieren -
<?php echo "<b>" . EVENTNAME . "</b>"; ?> <?php echo "<b>" . EVENTNAME . "</b>"; ?>
</h4> </h4>
<div style="width: 100%;"> <div style="width: 100%;">

View File

@ -128,7 +128,7 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<table class="commontable"> <table class="commontable">
<tr> <tr>
<th><button name="BackHelferdaten" value="1" onclick="window.location.href = 'Admin.php';"><b>&larrhk;</b></button> Helferdaten</th> <th><button name="BackHelferdaten" value="1" onclick="window.location.href = 'AdminHelferUebersicht.php';"><b>&larrhk;</b></button> Helferdaten</th>
<?php echo "<b>" . EVENTNAME . "</b>"; ?> <?php echo "<b>" . EVENTNAME . "</b>"; ?>
<form method="post"> <form method="post">
<tr> <tr>

View File

@ -31,26 +31,27 @@ require '_login.php';
/// Detailinformation zu ausgewaehlten Schicht Holen /// Detailinformation zu ausgewaehlten Schicht Holen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
if (isset($_POST['CloseInfo'])) { if (isset($_POST['CloseInfo'])) {
unset($InfoMeineSchichtID); unset($InfoMeineSchichtID);
unset($InfoAlleSchichtID); unset($InfoAlleSchichtID);
} }
// wird nie gesetzt // wird nie gesetzt
//if (isset($_POST['InfoMeineSchichtID'])) { //if (isset($_POST['InfoMeineSchichtID'])) {
function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$LeiterEmail,&$Info){ function SchichtInfo($SchichtID, &$Was, &$Wo, &$Dauer, &$Leiter, &$LeiterHandy, &$LeiterEmail, &$Info)
$db_link = ConnectDB(); {
// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID']; $db_link = ConnectDB();
// $InfoMeineSchichtID = $_POST['InfoMeineSchichtID'];
$zeile = DetailSchicht($db_link, $SchichtID); $zeile = DetailSchicht($db_link, $SchichtID);
$Was = $zeile['Was']; $Was = $zeile['Was'];
$Wo = $zeile['Wo']; $Wo = $zeile['Wo'];
$Dauer = $zeile['Dauer']; $Dauer = $zeile['Dauer'];
$Leiter = $zeile['Name']; $Leiter = $zeile['Name'];
$LeiterHandy = $zeile['Handy']; $LeiterHandy = $zeile['Handy'];
$LeiterEmail = $zeile['Email']; $LeiterEmail = $zeile['Email'];
$Info = $zeile['Info']; $Info = $zeile['Info'];
$db_link->close(); $db_link->close();
} }
// wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier // wird nur mit anderer Datei DetailsSchichten.php verwendet, nicht hier
@ -86,18 +87,18 @@ function SchichtInfo($SchichtID,&$Was,&$Wo,&$Dauer,&$Leiter,&$LeiterHandy,&$Leit
//} //}
// Auswahl Tag oberhalb der Dienstetabelle // Auswahl Tag oberhalb der Dienstetabelle
if (isset($_GET['ZeitBereich'])) { if (isset($_GET['ZeitBereich'])) {
$ZeitBereich = $_GET['ZeitBereich']; $ZeitBereich = $_GET['ZeitBereich'];
} else { } else {
$ZeitBereich = 0; $ZeitBereich = 0;
} }
// Helferliste Anzeigen // Helferliste Anzeigen
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////
?> ?>
<form method="post" action="AlleSchichten.php"> <form method="post" action="AlleSchichten.php">
@ -221,12 +222,14 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
$alleHelferLevel = array(1, 2); $alleHelferLevel = array(1, 2);
foreach ($alleHelferLevel as $HelferLevelIteration) { foreach ($alleHelferLevel as $HelferLevelIteration) {
$meine = ""; $meine = "";
if($HelferLevelIteration == $HelferLevel) { $meine = " &leftarrow; mein Level";} if ($HelferLevelIteration == $HelferLevel) {
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $meine = " &leftarrow; mein Level";
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevelIteration); }
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevelIteration);
// $HelferLevelName wird in konfiguration.php gesetzt. TODO: Array aus Datenbank mit bestehender Funktion in _login.php oder SQL.php auslesen. // $HelferLevelName wird in konfiguration.php gesetzt. TODO: Array aus Datenbank mit bestehender Funktion in _login.php oder SQL.php auslesen.
echo "<tr class='infoheader'><th colspan='5' >&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>"; echo "<tr class='infoheader'><th colspan='5' >&nbsp;&nbsp; &rightarrow; Schichten $HelferLevelName[$HelferLevelIteration] (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>";
} }
@ -255,23 +258,23 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist if ($Was != $OldWas) { // Header ausgeben, wenn der Dienst nicht mehr der selbe ist
// + in <span> becomes - when rows are opened // + in <span> becomes - when rows are opened
echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> "; echo "<tr class='header'><th colspan='5' style='width:100%'><span>+</span> ";
$SchichtID=$zeile['SchichtID']; $SchichtID = $zeile['SchichtID'];
$DienstID=$zeile['DienstID']; $DienstID = $zeile['DienstID'];
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevel,$DienstID); $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevel, $DienstID);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link,$HelferLevel,$DienstID); $iBelegteSchichtenCount = AlleBelegteSchichtenCount($db_link, $HelferLevel, $DienstID);
echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) <!-- Abfrage $HelferLevel, $DienstID -->"; echo "$Was ($iBelegteSchichtenCount/$iAlleSchichtenCount) <!-- Abfrage $HelferLevel, $DienstID -->";
echo "</th>"; echo "</th>";
echo "</tr>"; echo "</tr>";
SchichtInfo($SchichtID,$InfoWas,$InfoWo,$InfoDauer,$Leiter,$LeiterHandy,$LeiterEmail,$Info); SchichtInfo($SchichtID, $InfoWas, $InfoWo, $InfoDauer, $Leiter, $LeiterHandy, $LeiterEmail, $Info);
if(true){ if (true) {
echo "<tr><td colspan=5 style='background:lightblue'>"; echo "<tr><td colspan=5 style='background:lightblue'>";
echo "<b>Beschreibung:</b> $Info <br><br>"; echo "<b>Beschreibung:</b> $Info <br><br>";
echo "<b>Ort:</b> $InfoWo <br>"; echo "<b>Ort:</b> $InfoWo <br>";
//echo "<b>Dauer:</b> $InfoDauer<br>"; // verschieden je nach Einzelschicht //echo "<b>Dauer:</b> $InfoDauer<br>"; // verschieden je nach Einzelschicht
echo "<b>Ansprechparter:</b>" . $Leiter . ", "; echo "<b>Ansprechparter:</b>" . $Leiter . ", ";
echo $LeiterHandy . ", "; echo $LeiterHandy . ", ";
echo "$LeiterEmail"; echo "$LeiterEmail";
echo "</td></td></tr>\n"; echo "</td></td></tr>\n";
} }
$OldWas = $Was; $OldWas = $Was;
} }

View File

@ -193,16 +193,16 @@ function AlleSchichten($db_link, $Sort, $HelferLevel = 1)
function AlleSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1) function AlleSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1)
{ {
$nurDienst=""; $nurDienst = "";
if( $DienstID != -1 ) { if ($DienstID != -1) {
$nurDienst = " and Dienst.DienstID = $DienstID"; $nurDienst = " and Dienst.DienstID = $DienstID";
} }
$nurHelferLevel=""; $nurHelferLevel = "";
if( $HelferLevel != -1 ) { if ($HelferLevel != -1) {
$nurHelferLevel = " and HelferLevel = $HelferLevel "; $nurHelferLevel = " and HelferLevel = $HelferLevel ";
} }
$sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst"; $sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst Where SchichtUebersicht.DienstID=Dienst.DienstID $nurHelferLevel $nurDienst";
$db_erg = mysqli_query($db_link, $sql); $db_erg = mysqli_query($db_link, $sql);
@ -220,12 +220,12 @@ $sql = "select Sum(Soll) as Anzahl, HelferLevel from SchichtUebersicht,Dienst W
function AlleBelegteSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1) function AlleBelegteSchichtenCount($db_link, $HelferLevel = -1, $DienstID = -1)
{ {
$nurDienst=""; $nurDienst = "";
if( $DienstID != -1 ) { if ($DienstID != -1) {
$nurDienst = " and Dienst.DienstID = $DienstID"; $nurDienst = " and Dienst.DienstID = $DienstID";
} }
$nurHelferLevel=""; $nurHelferLevel = "";
if( $HelferLevel != -1 ) { if ($HelferLevel != -1) {
$nurHelferLevel = " and HelferLevel = $HelferLevel "; $nurHelferLevel = " and HelferLevel = $HelferLevel ";
} }
@ -771,9 +771,27 @@ function DeleteSchicht($db_link, $SchichtID, $Rekursiv)
function AlleHelferSchichtenUebersicht($db_link) function AlleHelferSchichtenUebersicht($db_link)
{ {
$sql = "select Helfer.HelferID as AliasHelferID,Helfer.HelferLevel,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 = $sql . " UNION ALL "; SELECT
$sql = $sql . "select Helfer.HelferID as AliasHelferID,Helfer.HelferLevel,Name,Email,Handy,'-' as Was,0 as Dauer from Helfer,EinzelSchicht where not exists(select 1 from EinzelSchicht where Helfer.HelferID=EinzelSchicht.HelferID)"; Helfer.HelferID AS AliasHelferID, -- Alias für HelferID
Helfer.HelferLevel,
Name,
Email,
Handy,
Was,
COALESCE(SUM(Dauer)/10000, 0) AS Dauer
FROM
Helfer
LEFT JOIN
EinzelSchicht ON Helfer.HelferID = EinzelSchicht.HelferID
LEFT JOIN
Schicht ON EinzelSchicht.SchichtID = Schicht.SchichtID
LEFT JOIN
Dienst ON Schicht.DienstID = Dienst.DienstID
GROUP BY
Helfer.HelferID,
Was';
$db_erg = mysqli_query($db_link, $sql); $db_erg = mysqli_query($db_link, $sql);
if (! $db_erg) { if (! $db_erg) {
echo "AlleHelferSchichtenUebersicht ungueltige Abfrage"; echo "AlleHelferSchichtenUebersicht ungueltige Abfrage";

View File

@ -76,7 +76,7 @@ if ($success == 1 && $email != "") {
error_log("2email: " . $HelferEmail . ",level: " . $helfer_level . ",success: " . $success); error_log("2email: " . $HelferEmail . ",level: " . $helfer_level . ",success: " . $success);
// Helfer Anlegen, wenn er nicht existiert // Helfer Anlegen, wenn er nicht existiert
if (! HelferIstVorhanden($db_link, $HelferEmail)) { if (! HelferIstVorhanden($db_link, $HelferEmail)) {
error_log( $HelferEmail . " nicht vorhanden, lege an"); error_log($HelferEmail . " nicht vorhanden, lege an");
error_log("CreateHelfer(db_link,$HelferName,$HelferEmail, $HelferHandy,$HelferPasswort,$HelferLevel);"); error_log("CreateHelfer(db_link,$HelferName,$HelferEmail, $HelferHandy,$HelferPasswort,$HelferLevel);");
$db_erg = CreateHelfer($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferPasswort, $HelferLevel); $db_erg = CreateHelfer($db_link, $HelferName, $HelferEmail, $HelferHandy, $HelferPasswort, $HelferLevel);
} }