gpt4 book ai didi

javascript - 在 FullCalendar 中添加 if 到事件

转载 作者:行者123 更新时间:2023-12-02 23:38:55 25 4
gpt4 key购买 nike

我想在完整日历的事件中添加一个 IF,例如,如果日期不为空,则使用 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
}
?>],

所以基本上,它应该像这样工作。如果有日期,则使用日期并仅显示当天,如果数据库中的日期为空,则使用 dow 并重复事件。

最佳答案

"gives me white screen"

这可能是 PHP 错误。或者,如果您的页面中除了 fullCalendar 之外没有其他内容,则可能是 JavaScript 错误导致日历代码无法运行以显示它。你有吗enable PHP error reporting检查服务器错误?你有吗look in your browser's Console检查 JavaScript 错误?如果是这样,您还没有在这里报告。如果您检查这一点并学习调试,它将帮助您更轻松地解决问题。

<小时/>

无论如何,通过查看你的代码,我可以看到这将是一个 JavaScript 语法错误 - 你不能将 if 语句放入对象文字中 - 它是一个数据结构,而不是代码块.

创建事件数据的更可靠和可维护的方法是在纯 PHP 中创建必要的对象,然后将其编码为 JSON 以输出到 JavaScript 中(您可以将其注入(inject),就像它是对象文字一样)将其直接视为代码,无需任何解析)。这是一个例子:

首先在 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; ?>,

关于javascript - 在 FullCalendar 中添加 if 到事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56166988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com