Bernd: Darstellung/ Ausgabe von weiteren Einträge abhängig machen

Beitrag lesen

Hier mal noch ein Beispiel, wie es laufen könnte

$AufTermin = "";
$Start     = "09:00";
$Ende      = "17:30";

//$termine = [ [ 't_von' => "10:00", 't_bis' => "11:00" ],
//             [ 't_von' => "12:15", 't_bis' => "13:00" ],
//             [ 't_von' => "15:00", 't_bis' => "16:30" ]
//           ];

$termine = [ [ 't_von' => "10:00", 't_bis' => "13:00" ],
             [ 't_von' => "10:00", 't_bis' => "18:30" ]
           ];

echo "<pre>";
print_r ( $termine );
echo "</pre>";

echo "<br><br>";

for ($i=0; $i<count($termine); $i++)
{
    
    if ($i+1 <count($termine)) {
    	$AufTermin .= $termine[$i]['t_bis'] . " bis " . $termine[$i+1]['t_von'] . "<br>";
    } else  {
    	$AufTermin .= $termine[$i]['t_bis'] . " bis " . $Ende;
    }

    echo "Von: " . $termine[$i]['t_von'] . "<br>";
    echo "Bis: " . $termine[$i]['t_bis']. "<br><br>";


}

echo "<br>";
echo "<strong>im Lager</strong>:<br>" . $AufTermin;

echo "<br><br>";

Die Ausgabe lautet

Array
(
    [0] => Array
        (
            [t_von] => 10:00
            [t_bis] => 13:00
        )

    [1] => Array
        (
            [t_von] => 10:00
            [t_bis] => 18:30
        )

)


Von: 10:00
Bis: 13:00

Von: 10:00
Bis: 18:30


13:00 bis 10:00
18:30 bis 17:30

Dieses passt nun überhaupt nicht mehr, richtig wäre

09:00 bis 10:00

Warum von 09:00 - Weil der Start ganz oben auf 09:00 Uhr gesetzt ist.
Warum bis 10:00 - Weil der erste Termin um 10:00 Uhr beginnt.

Ende wäre 17:30 Uhr, der Termin geht aber bis 18:30 also muss nichts mehr angezeigt werden.

Hier überlappen sich zwei Termine