HelferLevel in Array aus DB verwenden

This commit is contained in:
Karsten Siegmund 2024-04-25 20:19:58 +02:00
parent ef8fc46d78
commit 46c372ee8c
4 changed files with 64 additions and 47 deletions

View File

@ -73,13 +73,6 @@ echo "<br><br><table class='commontable' style='page-break-before:always'>";
</table> </table>
<table class="commontable collapsible"> <table class="commontable collapsible">
<?php <?php
$db_erg = AlleHelferSchichtenUebersicht($db_link);
$dauer = 0;
$i = 0;
$OldAliasHelferID = "-1";
$EinzelDienstStundenZeile = ""; // Tabellenzeile mit EinzelDienstStunden
$HelferUeberschrift = "";
// Function to output helper information // Function to output helper information
function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile) function outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile)
{ {
@ -92,32 +85,46 @@ 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)) { // Helferlevel holen, wir listen die Level nacheinander auf
$HelferName = $zeile["Name"]; $alleHelferLevel = alleHelferLevel($db_link);
$HelferLevel = $zeile["HelferLevel"]; foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung)
$AliasHelferID = $zeile["AliasHelferID"]; {
if ($AliasHelferID != $OldAliasHelferID) { echo "<tr class='header infoheader'><th colspan=3>($HelferLevelIteration) $HelferLevelBeschreibung</th></tr>";
if ($EinzelDienstStundenZeile != "") { $db_erg = AlleHelferSchichtenUebersicht($db_link, $HelferLevelIteration);
outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile); $dauer = 0;
$i = 0;
$OldAliasHelferID = "-1";
$EinzelDienstStundenZeile = ""; // Tabellenzeile mit EinzelDienstStunden
$HelferUeberschrift = "";
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)) {
$HelferName = $zeile["Name"];
$HelferLevel = $zeile["HelferLevel"];
$AliasHelferID = $zeile["AliasHelferID"];
if ($AliasHelferID != $OldAliasHelferID) {
if ($EinzelDienstStundenZeile != "") {
outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile);
}
$dauer = 0;
$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'>&nbsp;$HelferName (Lvl:$HelferLevel) </div></form>";
$OldHelferName = $HelferName;
$OldAliasHelferID = $AliasHelferID;
$i += 1;
} }
$dauer = 0; $EinzelDienstStundenZeile .= "<tr><td style='width:100px'> " . (int)$zeile["Dauer"] . "</td><td>";
$EinzelDienstStundenZeile = ""; $EinzelDienstStundenZeile .= $zeile["Was"];
$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>"; $EinzelDienstStundenZeile .= "</td></tr>";
$OldHelferName = $HelferName; $dauer = $dauer + (int)$zeile["Dauer"];
$OldAliasHelferID = $AliasHelferID;
$i += 1;
} }
$EinzelDienstStundenZeile .= "<tr><td style='width:100px'> " . (int)$zeile["Dauer"] . "</td><td>"; if ($EinzelDienstStundenZeile != "") {
$EinzelDienstStundenZeile .= $zeile["Was"]; outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile);
$EinzelDienstStundenZeile .= "</td></tr>"; }
$dauer = $dauer + (int)$zeile["Dauer"];
} }
if ($EinzelDienstStundenZeile != "") {
outputHelperInformation($HelferUeberschrift, $OldAliasHelferID, $dauer, $EinzelDienstStundenZeile);
}
echo "</table>"; echo "</table>";
?> ?>

View File

@ -160,17 +160,11 @@ while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
<tr><td> <tr><td>
<select name="helfer-level"> <select name="helfer-level">
<?php <?php
$db_erg = HelferLevel($db_link); $alleHelferLevel = alleHelferLevel($db_link);
$selected = ""; foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) {
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) { $selected = ($HelferLevelIteration == $HelferLevel) ? "selected" : "";
$HelferLevel = $zeile['HelferLevel']; echo "<option value='$HelferLevelIteration' $selected>$HelferLevelBeschreibung</option>";
$HelferLevelBeschreibung = $zeile['HelferLevelBeschreibung']; }
if ($HelferLevel == 1) {
$selected = " selected " ;
};
echo "<option value='$HelferLevel' $selected>$HelferLevelBeschreibung</option>";
$selected = "";
}
?> ?>
</select> </select>
</td> </td>

View File

@ -220,9 +220,9 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
echo "<tr class='infoheader'>"; echo "<tr class='infoheader'>";
echo "<th colspan='5'>Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "</th></tr>"; echo "<th colspan='5'>Alle Schichten der Con (Besetzt/Gesamt) " . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . "</th></tr>";
$alleHelferLevel = array(1, 2); $alleHelferLevel = alleHelferLevel($db_link);
foreach ($alleHelferLevel as $HelferLevelIteration) { foreach ($alleHelferLevel as $HelferLevelIteration => $HelferLevelBeschreibung) {
$meine = ""; $meine = "";
if ($HelferLevelIteration == $HelferLevel) { if ($HelferLevelIteration == $HelferLevel) {
$meine = " &leftarrow; mein Level, Schichten werden unten angezeigt"; $meine = " &leftarrow; mein Level, Schichten werden unten angezeigt";
@ -230,7 +230,7 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
$iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration); $iAlleSchichtenCount = AlleSchichtenCount($db_link, $HelferLevelIteration);
$iBelegteSchichtenCount = AlleBelegteSchichtenCount($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 $HelferLevelBeschreibung (Besetzt/Gesamt) (" . $iBelegteSchichtenCount . "/" . $iAlleSchichtenCount . ") $meine</th></tr>";
} }

View File

@ -769,9 +769,9 @@ function DeleteSchicht($db_link, $SchichtID, $Rekursiv)
} }
function AlleHelferSchichtenUebersicht($db_link) function AlleHelferSchichtenUebersicht($db_link,$HelferLevel)
{ {
$sql = ' $sql = "
SELECT SELECT
Helfer.HelferID AS AliasHelferID, -- Alias für HelferID Helfer.HelferID AS AliasHelferID, -- Alias für HelferID
Helfer.HelferLevel, Helfer.HelferLevel,
@ -788,9 +788,10 @@ LEFT JOIN
Schicht ON EinzelSchicht.SchichtID = Schicht.SchichtID Schicht ON EinzelSchicht.SchichtID = Schicht.SchichtID
LEFT JOIN LEFT JOIN
Dienst ON Schicht.DienstID = Dienst.DienstID Dienst ON Schicht.DienstID = Dienst.DienstID
WHERE Helfer.HelferLevel = $HelferLevel
GROUP BY GROUP BY
Helfer.HelferID, Helfer.HelferID,
Was'; Was";
$db_erg = mysqli_query($db_link, $sql); $db_erg = mysqli_query($db_link, $sql);
if (! $db_erg) { if (! $db_erg) {
@ -836,6 +837,21 @@ function HelferLevel($db_link)
} }
return $db_erg; return $db_erg;
} }
function alleHelferLevel($db_link)
{
$alleHelferLevel = array();
$db_erg=HelferLevel($db_link);
while ($zeile = mysqli_fetch_array($db_erg, MYSQLI_ASSOC)) {
$HelferLevel = $zeile['HelferLevel'];
$HelferLevelBeschreibung = $zeile['HelferLevelBeschreibung'];
$alleHelferLevel[$HelferLevel] = $HelferLevelBeschreibung;
};
return $alleHelferLevel;
}
// TODO: als Array zurueckgeben (CreateHelfer anpassen) // TODO: als Array zurueckgeben (CreateHelfer anpassen)
// TODO: // TODO:
//function HelferLevel($db_link){ //function HelferLevel($db_link){