Moin,
ich habe folgende Funktion und die dazugehörige Ausgabe
function MitarbeiterKalenderTagesansicht($mysqli, $datum, $user) {
$stmt = $mysqli->prepare("
SELECT kt_id, kt_kalenderID, kt_datum, k_ganztags, k_von, k_bis, kp_userID
FROM kalender_termine
LEFT JOIN kalender ON kalender.k_code = kalender_termine.kt_kalenderID
LEFT JOIN kalender_personal ON kalender_personal.kp_code = kalender_termine.kt_kalenderID
WHERE kt_datum=? AND kp_userID=?");
$stmt->bind_param("ss", $datum, $user);
$stmt->execute();
$stmt->bind_result($kt_id, $kt_kalenderID, $kt_datum, $k_ganztags, $k_von, $k_bis, $kp_userID);
$stmt->store_result();
if($stmt->num_rows() > 0) {
while ($stmt->fetch()){
$MitarbeiterKalenderTagesansicht[] = array(
'kt_id' => $kt_id,
'kt_kalenderID' => $kt_kalenderID,
'kt_datum' => $kt_datum,
'k_ganztags' => $k_ganztags,
'k_von' => $k_von,
'k_bis' => $k_bis,
'kp_userID' => $kp_userID
);
}
return $MitarbeiterKalenderTagesansicht;
}
}
<?php foreach($UserAktiv as $arrayUserAktiv){
$MitarbeiterKalenderTagesansicht = MitarbeiterKalenderTagesansicht($mysqli, $_GET['date'], $arrayMitarbeiterLager['userid']);
foreach($MitarbeiterKalenderTagesansicht as $arrayKalenderTagesansicht){ ?>
<?php echo $arrayKalenderTagesansicht['k_von'] . " - " . $arrayKalenderTagesansicht['k_bis'];?><br>
<?php } ?>
?>
<div><?php echo $arrayUserAktiv['per_vorname'] . " " . $arrayUserAktiv['per_name'] ; ?></div>
<div>
<?php
if ($wochentage[date("w", $zeit)] == "montag") {
if ($arrayUserAktiv['mo_von'] != "") {
echo $arrayUserAktiv['mo_von'] . " Uhr bis " . $arrayUserAktiv['mo_bis'] . " Uhr";
} else { echo "nach Bedarf"; }
}
?>
<?php
if ($wochentage[date("w", $zeit)] == "dienstag") {
if ($arrayUserAktiv['di_von'] != "") {
echo $arrayUserAktiv['di_von'] . " Uhr bis " . $arrayUserAktiv['di_bis'] . " Uhr";
} else { echo "nach Bedarf"; }
}
?>
<?php
if ($wochentage[date("w", $zeit)] == "mittwoch") {
if ($arrayUserAktiv['mi_von'] != "") {
echo $arrayUserAktiv['mi_von'] . " Uhr bis " . $arrayUserAktiv['mi_bis'] . " Uhr";
} else { echo "nach Bedarf"; }
}
?>
<?php
if ($wochentage[date("w", $zeit)] == "donnerstag") {
if ($arrayUserAktiv['do_von'] != "") {
echo $arrayUserAktiv['do_von'] . " Uhr bis " . $arrayUserAktiv['do_bis'] . " Uhr";
} else { echo "nach Bedarf"; }
}
?>
<?php
if ($wochentage[date("w", $zeit)] == "freitag") {
if ($arrayUserAktiv['fr_von'] != "") {
echo $arrayUserAktiv['fr_von'] . " Uhr bis " . $arrayUserAktiv['fr_bis'] . " Uhr";
} else { echo "nach Bedarf"; }
}
?>
<?php
if ($wochentage[date("w", $zeit)] == "samstag") {
if ($arrayUserAktiv['sa_von'] != "") {
echo $arrayUserAktiv['sa_von'] . " Uhr bis " . $arrayUserAktiv['sa_bis'] . " Uhr";
} else { echo "nach Bedarf"; }
}
?>
<?php
if ($wochentage[date("w", $zeit)] == "sonntag") {
if ($arrayUserAktiv['so_von'] != "") {
echo $arrayUserAktiv['so_von'] . " Uhr bis " . $arrayUserAktiv['so_bis'] . " Uhr";
} else { echo "nach Bedarf"; }
}
?>
</div>
<?php } ?>
Das ganze sieht dann so aus
Die Ausgabe stimmt also, Weg und die dazugehörigen Zeiten sind nur Test Ausgaben, die sind später nicht mehr sichtbar.
Jetzt kommt das schwere wo ich überhaupt kein Plan habe, wie ich es umsetzten soll. Beim ersten Eintrag hat der User zwischen 11:30 Uhr bis 17:30 Uhr Zeit. Jetzt ist er zwischen 09:30 - 12:30 verplant. Die Anzeige müsste wie wie folgt aussehen
- 12:30 Uhr bis 17:30
Beim zweiten User wird es noch viel interessanter, dieser ist zwischen 09:00 Uhr bis 17:30 Uhr verfügbar, ist aber zwischen 06:30 - 08:00 & 16:30 - 18:00 verplant, also dürfte er nur von 09:00 Uhr bis 16:30 angezeigt werden.
Jetzt nehmen wir mal einen weiteren Fall. User drei ist von 08:00 - 20:00 Uhr da. Folgende Termine hat er 08:45 - 10:00 & 12:00 - 14:00 & 15:00 - 17:00 Uhr. Dann müsste dieser wie folgt angezeigt werden:
- 08:00 bis 08:45 Uhr
- 10:00 bis 12:00 Uhr
- 14:00 bis 15:00 Uhr
- 17:00 bis 20:00 Uhr
Wie kann ich eine solche Darstellung realisieren oder ist dieses unmöglich?