Hallo, ich hole mir sämtlich Daten aus einer Exceldatei, die Daten werden
in einem großen Array $rohdatenEXC gespeichert. Jede Spalte der Exceldatei
kann als Array angesprochen werden. Es ist mir bisher gelungen nach Mitarbeiter
zu filtern (Spalte E) und deren Gesamtstunden (Spalte O) auszugeben.
Nun gibt es aber auch noch eine (Spalte N) in der die Art der Leistung vermerkt ist.
Anhand der switch_Methode will ich prüfen ob der Wert in der Spalte N auf "Urlaub"
oder "Krank" steht --> wenn dies der Fall ist, soll er in dem Array $auswertung in den
Index"Urlaub" oder Index"Krank" den Wert von der Spalte O schreiben und entsprechend
aufsummieren. Bei der Ausgabe erhalte ich dann aber die Meldungen undefiniert Index "Urlaub" und "Krank"
Mein code wäre folgender:
in einem großen Array $rohdatenEXC gespeichert. Jede Spalte der Exceldatei
kann als Array angesprochen werden. Es ist mir bisher gelungen nach Mitarbeiter
zu filtern (Spalte E) und deren Gesamtstunden (Spalte O) auszugeben.
Nun gibt es aber auch noch eine (Spalte N) in der die Art der Leistung vermerkt ist.
Anhand der switch_Methode will ich prüfen ob der Wert in der Spalte N auf "Urlaub"
oder "Krank" steht --> wenn dies der Fall ist, soll er in dem Array $auswertung in den
Index"Urlaub" oder Index"Krank" den Wert von der Spalte O schreiben und entsprechend
aufsummieren. Bei der Ausgabe erhalte ich dann aber die Meldungen undefiniert Index "Urlaub" und "Krank"
Mein code wäre folgender:
PHP-Code:
$rohdatenEXC = array(); //gesamte Inhalt der Exceldatei, alle Spalten sind in Arrays gespeichert
foreach($sheetData as $key => $rohdatenEXC){
// $rohdatenEXC['E']; //Spalte E = Nachname
// $rohdatenEXC['N']; //Spalte N = Leistung = z.B. auch Urlaub, Krank
// $rohdatenEXC['O']; //Spalte O = Stunden
if(!isset($auswertung[$rohdatenEXC['E']])) //Mitarbeiter
{
$auswertung[$rohdatenEXC['E']] = $rohdatenEXC;
switch($rohdatenEXC['N']){
case ("Urlaub"):
$auswertung['Urlaub'] += $rohdatenEXC['O'];
break;
case ("Krank"):
$auswertung['Krank'] += $rohdatenEXC['O'];
break;
}
}
else
{
$auswertung[$rohdatenEXC['E']]['O'] += $rohdatenEXC['O'];
}
}
//Tabelle ausgeben:
foreach($auswertung as $key => $value){
echo "<tr>"; // Ausgabe nächste Zeile in Tabelle
echo "<td>" . $value ['E'] . "</td>"; //Mitarbeiter
echo "<td>" . $value ['Urlaub'] / 60 . "</td>"; //Urlaub
echo "<td>" . $value ['Krank'] / 60 . "</td>"; //Krank
echo "<td>" . $value ['O'] / 60 . "</td>"; //Gesamtstunden
echo "</tr>";
}
Kommentar