Hallo zusammen,
ich habe eine SQL Datenbank wo jeder Mitarbeiter eine Tabelle mit Diensten hat.
Ich filtere mir nun die Dienste raus und wandel den Text in Stunden um, diese addiere ich und füge Sie wieder in die Datenbank ein.
Es klappt alles, ich habe nur 2 "Probleme".
A:
Habe ich für jede Berechnung eine extra Abfrage der Datenbank nach der jeweiligen ID, Ich habe demzufolge unendlich viele Zeilen und muss diese bei jedem neuen Mitarbeiter in der Datei hinzufügen.
B:
Wird eine neue Schicht hinzugefügt muss ich ebenfalls die ganze Datei ändern.
Das geht doch sicher eleganter und einfacher.
Danke vorab.
Code:
PHP
<?php
include('functions.php');
// Verbindung prüfen
if (!$db) {
die("Keine Verbindung: " . mysqli_connect_error());
}
// Daten auslesen
$sql = "SELECT * FROM mitarbeiter WHERE ID=1";
$result = mysqli_query($db, $sql);
// Inhalt auslesen
$row = mysqli_fetch_array($result, MYSQLI_NUM);
// Schichten
$Schicht = ['Tag', 'Nacht', 'U'];
$Stunden = ['12', '12', '8'];
$Summe = '0';
// Berechnung, geht bei 2 los!
if ($row[2] == $Schicht[0]) {
$Summe = $Summe + $Stunden[0];
} elseif ($row[2] == $Schicht[1]) {
$Summe = $Summe + $Stunden[1];
}elseif ($row[2] == $Schicht[2]) {
$Summe = $Summe + $Stunden[2];
}
if ($row[3] == $Schicht[0]) {
$Summe = $Summe + $Stunden[0];
} elseif ($row[3] == $Schicht[1]) {
$Summe = $Summe + $Stunden[1];
}elseif ($row[3] == $Schicht[2]) {
$Summe = $Summe + $Stunden[2];
}
if ($row[4] == $Schicht[0]) {
$Summe = $Summe + $Stunden[0];
} elseif ($row[4] == $Schicht[1]) {
$Summe = $Summe + $Stunden[1];
}elseif ($row[4] == $Schicht[2]) {
$Summe = $Summe + $Stunden[2];
}
echo $Summe;
mysqli_close($db);
?>
Alles anzeigen