[英]How to put events in a weekly calendar
嗨,我正在用php制作每周日歷,我想像下面的示例一樣在日歷中放置事件,但是我不知道如何在一天的正確時間回顯日歷中的事件。
這是我用來回顯日歷的代碼:
<?php
$dt = new DateTime;
if (isset($_GET['year']) && isset($_GET['week'])) {
$dt->setISODate($_GET['year'], $_GET['week']);
}else{
$dt->setISODate($dt->format('o'), $dt->format('W'));
}
$year = $dt->format('o');
$week = $dt->format('W');
?>
<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week-1).'&year='.$year; ?>">Vorige week</a>
<a href="<?php echo $_SERVER['PHP_SELF'].'?week='.($week+1).'&year='.$year; ?>">Volgende week</a>
<?php
$getDatum = $conn->prepare("
SELECT DISTINCT D.DocentID, CONCAT(D.Voornaam, ' ', D.Achternaam) AS Docentnaam, D.Telefoonnummer, D.Mobiel, D.Email, CO.DatumBegin, CO.DatumEind, O.Onderdeelnaam
FROM docenten D
INNER JOIN psentity PE ON D.DocentID = PE.psid
INNER JOIN docentonderdelen DO ON D.DocentID = DO.DocentID
INNER JOIN cursusonderdelen CO ON DO.OnderdeelID = CO.OnderdeelID
RIGHT JOIN onderdelen O ON CO.OnderdeelID = O.OnderdeelID
WHERE O.OnderdeelID = 6
AND CO.DatumBegin AND CO.DatumEind BETWEEN '2018-12-10' AND '2019-10-10'
AND PE.deleted = 0
LIMIT 3");
$getDatum->bindParam(':OID', $OID, PDO::PARAM_STR);
$getDatum->bindParam(':BeginDatum', $BeginDatum, PDO::PARAM_STR);
$getDatum->bindParam(':Einddatum', $Einddatum, PDO::PARAM_STR);
$getDatum->execute();
$docenten = array();
while ($row = $getDatum->fetch(PDO::FETCH_ASSOC))
{
$docenten[] = $row;
}
Pastebin鏈接到代碼,因為否則代碼會很長。 我希望我提供的信息足夠。
您可以將事件的時間存儲在DatumBegin或新列中(假設eventTime的格式為(H:i:s)
),然后根據時間創建三個數組,然后在不同的tr
對其進行迭代
$morningTime = date("00:00:00");
$afternoonTime = date("12:00:00");
$eveningTime = date("17:00:00");
$morningEvents = [];
$afternoonEvents = [];
$eveningEvents = [];
while ($row = $getDatum->fetch(PDO::FETCH_ASSOC))
{
$dyDate = date($row['eventTime']);
if($dyDate<$afternoonTime){ // store "Morning Event";
$morningEvents[] = $row;
}
if($dyDate>=$afternoonTime && $dyDate<$eveningTime){ // store "Afternoon Event";
$afternoonEvents[] = $row;
}
if($dyDate>=$eveningTime){ // store "Evening Event";
$eveningEvents[] = $row;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.