Bernd: Daten vor einer foreach ausgeben?

Beitrag lesen

Hallo,

ich habe mal wieder ein massives Problem. Ich habe folgendes Script

$datumStart = "2018-11-01";
$datumEnde  = "2018-11-30";

$userMonat1 = db_userMonat1($mysqli, $object->user_code, $datumStart, $datumEnde);

// Alle Daten gruppieren
$grouped = array_reduce($userMonat1, function($grouped, $entry){
	
	$key = $entry['usz_datum']; // nach Datum gruppieren
	$grouped[$key]['eintraege'][] = $entry;
	return $grouped;
});
	
// Summe pro Gruppe berechnen
$summed = array_map(function($group){

	$hours = array_column($group['eintraege'], 'usz_anzStunden'); // Stunden aus allen Spalten ziehen
	$hours 	= 	str_replace(",", ".", $hours);
	$group['summe'] = array_sum($hours); // Summe bilden
	return $group;

}, $grouped);
	

$stundenGesamt = "";

foreach ($summed as $datetime => $group) {

	$stundenGesamt += $group['summe'];

	  $datetime     = explode("-", $datetime);
    $datetime     = $datetime[2].".".$datetime[1].".";
    
    echo '<div>' . $datetime . '</div>';
    echo '<div> Stunden gesamt: '. $group['summe'] . "</div>";

    foreach ($group['eintraege'] as $grouped =>$eintraege) {


    	if ($eintraege['usz_anzStunden'] != "") {
    		
    		echo $eintraege['usz_anzStunden']. " Std. - " . $eintraege['usz_projektnummer'] . "<br>";
	    	
	    	if ($eintraege['usz_betreff'] != "") {
	    		echo '<div>'.nl2br($eintraege['usz_betreff']). "</div>";
	    	}
    	}
    	echo "<br>\n";
	} 
	echo "<br>";    
} 

echo "Gesamtstunden im " . $monate[$monat] . " :" . str_replace(".", ",", $stundenGesamt); 

Jetzt möchte ich gerne nach

echo '<div> Stunden gesamt: '. $group['summe'] . "</div>";

und vor

foreach ($group['eintraege'] as $grouped =>$eintraege)

noch zwei Einträge anzeigen lassen und zwar

  • usz_start
  • usz_ende

Muss ich dazu eine Datenbankabfrage starten oder kann ich diese in einem machen?