簡體   English   中英

將是否添加到FullCalendar中的事件

[英]Add if to event in FullCalendar

我想在完整日歷的事件內部添加一個IF,例如,如果date不為null,則使用date,否則,請使用dow。 這樣的事情,但這給了我白色的屏幕。

         events: [<?php
        while($row_events = mysqli_fetch_array($resultado_events)){
                            ?>
                            {
        title: '<?php echo $row_events['title'];?>', 
            if(<?php echo $row_events['date']; ?> != '')
            {
                start: '<?=$row_events['date'].' '.$row_events['start'];?>',
                end: '<?=$row_events['date'].' '.$row_events['end'];?>',
            }
            else {
               start: '<?php echo $row_events['start']; ?>',
               end: '<?php echo $row_events['end']; ?>',
               dow: [ <?php echo $row_events['dow']; ?> ],
                }
         },<?php
                        }
                    ?>],

因此,基本上,它應該像這樣工作。 如果有日期,它將使用該日期並且僅在該日期顯示;如果數據庫中的日期為null,請使用dow並重復發生該事件。

“給我白色的屏幕”

這可能是PHP錯誤。 或者,如果頁面中除了fullCalendar之外沒有其他內容,則可能是JavaScript錯誤,導致日歷代碼無法運行以顯示日歷。 您是否啟用PHP錯誤報告以檢查服務器錯誤? 您是否在瀏覽器的控制台中查看了JavaScript錯誤? 如果是這樣,您還沒有在這里報告。 如果您進行檢查和學習調試,它將幫助您更輕松地解決問題。


無論如何,從代碼中我都可以看到這是JavaScript語法錯誤-您不能在對象文字中放入if語句-它是數據結構,而不是代碼塊。

創建事件數據的一種更可靠和可維護的方法是在純PHP中創建必需的對象,然后將其編碼為JSON以輸出到JavaScript(在其中您可以將其注入,就像它是對象文字一樣,並對其進行處理)直接作為代碼,無需任何解析)。 這是一個例子:

首先在PHP中創建事件數組:

$events = array();

while($row_events = mysqli_fetch_array($resultado_events))
{
    $event = array();
    $event["title"] = $row_events['title'];

    if($row_events['date'] != "")
    {
         $event["start"] = $row_events['date'].' '.$row_events['start'];
         $event["end"] = $row_events['date'].' '.$row_events['end'];,
    }
    else {
       $event["start"] = $row_events['start'];
       $event["end"] = $row_events['end'];
       $event["dow"] = explode(",", $row_events['dow']); //N.B. exactly how you do this might depend on the precise content of your "dow" field, e.g. if values are separated by just comma, or comma and a space
    }
}
$eventsJSON = json_encode($events);

然后,在腳本的下方,添加JavaScript代碼,您可以簡單地編寫:

events: <?php echo $eventsJSON; ?>,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM