Bernd: foreach unterbrechen bzw. erst später starten?

Beitrag lesen

Hallo,

nur aus Interesse, da ich gerne die Ausgabe etwas umgestallten möchte. Stand jetzt

function StartEndePause($mysqli, $datum, $name) {
    
        $stmt = $mysqli->prepare("SELECT uss_id, uss_datum, uss_name, uss_wert, uss_inhalt
                                  FROM startendepause 
                                  WHERE uss_datum =? AND uss_name=?");
       
        $stmt->bind_param("ss", $datum, $name);
        $stmt->execute();
        $stmt->bind_result($uss_id, $uss_datum, $uss_name, $uss_wert, $uss_inhalt);
        $stmt->store_result();
        
        if($stmt->num_rows() >  0) {     
            while ($stmt->fetch()){
                
                $StartEndePause[] = array( 
                    
                    'uss_id'      => $uss_id, 
                    'uss_datum'   => $uss_datum,
                    'uss_name'    => $uss_name,
                    'uss_wert'    => $uss_wert,
                    'uss_inhalt'  => $uss_inhalt
                );
            }
            return $StartEndePause;
            }
    }

Die Ausgabe im HTML

$StartEndePause = StartEndePause($mysqli, $_GET['usz_datum_von'], $_GET['usz_name']);

<?php 
		if($StartEndePause > 0) {
		$i = 0;
		
		foreach($StartEndePause as $arraySEP){
			
			if ($arraySEP['uss_wert'] == "Pause") {
				$Pausegesamt += $arraySEP['uss_inhalt'];
				$i++;
			}	
		?>
			<?php if ($arraySEP['uss_wert'] == "Start") { ?>
				<span style="display: inline-block; width: 7.4em;">
					<?php echo htmlspecialchars($arraySEP['uss_wert']); ?>:
				</span> <?php echo htmlspecialchars($arraySEP['uss_inhalt']); ?> Uhr<br>
			<?php } elseif ($arraySEP['uss_wert'] == "Ende") {?>
				<span style="display: inline-block; width: 7.4em;">
					<?php echo htmlspecialchars($arraySEP['uss_wert']); ?>:
				</span> <?php echo htmlspecialchars($arraySEP['uss_inhalt']); ?> Uhr<br>
			<?php } else { ?>
				<span style="display: inline-block; width: 7.4em;">
					<?php echo htmlspecialchars($arraySEP['uss_wert']); ?>:
				</span> <?php echo htmlspecialchars($arraySEP['uss_inhalt']); ?> Stunde(n)<br>
		<?php
		}}?>
		<?php if ($i > 1): ?>
				<span style="display: inline-block; width: 7.4em; margin-top: 1em;">Pause gesamt:</span> 
				<?php echo htmlspecialchars($Pausegesamt); ?> Stunde(n)
		<?php endif ?>
		<?php }
		else { echo "Keine Daten vorhanden"; }
		?>

Die fertige Ausgabe schaut dann so aus

Kann ich mit leben, ist auch richtig. Jetzt frage ich mich allerdings ob man dieses etwas anderes gestallten könnte und zwar wie folgt:

  1. Start
  2. Pause gesamt
  3. Ende

Wenn ich jetzt auf Pause klicke sollen die Pausen einzeln zu sehen sein und die Gesamtpause sollte nach rechts verschoben werden und die Pause einzeln sollte umklammert werden mit einem }. Ich hoffe ihr versteht was ich meine.

Meine Frage ist also:

  1. Kann ich die Schleife unterbrechen und erst das komplett Ergebnis anzeigen?
  2. Kann ich nach Klick auf das Ergebnis alle Pause anzeigen lassen?