亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更改日歷以顯示每天多個事件

更改日歷以顯示每天多個事件

不負相思意 2023-10-30 15:26:53
從昨天開始我就在思考一個問題...我使用此日歷代碼是為了在我的網站上顯示日歷。這是它的 PHP 代碼:(我對其進行了一些修改以表示日歷中的顏色和時間)現在我有兩種不同類型的約會,它們是從數據庫獲取的,轉換為數組并將其作為變量傳遞$events:$events = array();            foreach ($partEvents as $event) {                $events[date('Y-m-d', strtotime($event['eventDate']))] = array(                    'text' => $event['description'],                    'href' => '/nsl/editGroupCoaching/'.$event['ID'],                    'time' => date('H:i', strtotime($event['eventDate'])),                    'color' => '#edb01a'                );            }            foreach ($appointments as $event) {                $events[date('Y-m-d', strtotime($event['date']))] = array(                    'text' => $event['description'],                    'href' => '#',                    'time' => date('H:i', strtotime($event['date'])),                    'color' => '#00898d'                );            }所以我用$partEvents一種顏色顯示 ,用$appointments另一種顏色顯示 。一般來說,這工作正常,并且它們前面顯示時間。但是,每當同一天有 2 個事件時,它就不再起作用,因為數組鍵不再唯一(僅顯示 2 個事件中的 1 個)......我希望一天可以有1、2、3甚至10個事件......我想到的只是更改數組生成并H:i:s在數組鍵上添加,但是,然后就根本不再顯示約會了......我需要如何更改日歷生成的代碼,以便能夠每天添加多個事件?$runningDay我嘗試使用and進行了很多嘗試$cur_date,但我似乎無法讓它發揮作用..我必須承認,我并不是最擅長處理多維數組..
查看完整描述

1 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

如果您向主要活動索引添加時間,日歷將無法直接確定給定日期是否有活動。您可以添加在找到給定日期的事件后使用的輔助索引(添加兩個本地解釋變量,$date并$time更改它們的名稱,以防與代碼的其余部分發生沖突):


        $events = array();

        foreach ($partEvents as $event) {

            $date = date('Y-m-d', strtotime($event['eventDate']));

            $time = date('H:i', strtotime($event['eventDate']));

            $events[$date][$time] = array(

                'text' => $event['description'],

                'href' => '/nsl/editGroupCoaching/'.$event['ID'],

                'color' => '#edb01a'

            );

        }


        foreach ($appointments as $event) {

            $date = date('Y-m-d', strtotime($event['eventDate']));

            $time = date('H:i', strtotime($event['eventDate']));

            $events[$date][$time] = array(

                'text' => $event['description'],

                'href' => '#',

                'color' => '#00898d'

            );

        }

現在您需要更改事件的顯示方式(潛在的渲染問題留給您解決 - 它只會直接將單個事件的副本添加到表格單元格中):


        ...

        // Insert an event for this day

        if ($draw_event) {

            ksort($events[$cur_date]);

            foreach ($events[$cur_date] as $time => $event) {

                $calendar .=

                    "<div class='{$css_cal_event}'>" .

                    "<a href='{$event['href']}' style='color:".$event['color'].";'>" .

                    $time.' Uhr: <br/>'.$event['text'] .

                    "</a>" .

                    "</div>";

            }

        }

        ...


查看完整回答
反對 回復 2023-10-30
  • 1 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號