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

View File

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

View File

@ -220,9 +220,9 @@ if ($addschicht != '0') { // addschicht soll Darstellung nach Tagen oder Dienste
echo "<tr class='infoheader'>";
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 = "";
if ($HelferLevelIteration == $HelferLevel) {
$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);
$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.
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
Helfer.HelferID AS AliasHelferID, -- Alias für HelferID
Helfer.HelferLevel,
@ -788,9 +788,10 @@ LEFT JOIN
Schicht ON EinzelSchicht.SchichtID = Schicht.SchichtID
LEFT JOIN
Dienst ON Schicht.DienstID = Dienst.DienstID
WHERE Helfer.HelferLevel = $HelferLevel
GROUP BY
Helfer.HelferID,
Was';
Was";
$db_erg = mysqli_query($db_link, $sql);
if (! $db_erg) {
@ -836,6 +837,21 @@ function HelferLevel($db_link)
}
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:
//function HelferLevel($db_link){