Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript fullCalendar.js defaultView:';代理日';在全天部分显示事件_Javascript_Jquery_Mysql_Json_Fullcalendar - Fatal编程技术网

Javascript fullCalendar.js defaultView:';代理日';在全天部分显示事件

Javascript fullCalendar.js defaultView:';代理日';在全天部分显示事件,javascript,jquery,mysql,json,fullcalendar,Javascript,Jquery,Mysql,Json,Fullcalendar,使用fullCalendar.js和defaultView作为agendaDay,并从mysql获取JSON形式的事件。错误在于它在“全天”部分显示事件 我试过这个: eventRender: function(event, element, view) { if (event.allDay == 1) { event.allDay = true; } else { event.allDay = false; } 我还尝试: eventRender: f

使用fullCalendar.js和defaultView作为agendaDay,并从mysql获取JSON形式的事件。错误在于它在“全天”部分显示事件

我试过这个:

eventRender: function(event, element, view) {
    if (event.allDay == 1) {
    event.allDay = true;
    } else {
    event.allDay = false;
    }
我还尝试:

eventRender: function(event, element, view) {
event.allDay = false;
},
还有:

eventAfterAllRender: function(event, element, view) {
event.allDay = false;
},
但我有股票,仍然没有工作

下面是一个没有JSON:events的工作小提琴:

要进行测试,您需要更改jsFiddle for:events:events.php中的event:

下面是events.php文件

<?php
// List of events
 $json = array();

 // Query that retrieves events
 $requete = "SELECT * FROM evenement ORDER BY id";

 // connection to the database
 try {
 $bdd = new PDO('mysql:host=localhost;dbname=fullcalendar', 'root', 'root');
 } catch(Exception $e) {
  exit('Unable to connect to database.');
 }

 // Execute the query
 $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));

 // sending the encoded result to success page
 echo json_encode($resultat->fetchAll(PDO::FETCH_ASSOC));

?>

如果您能帮助我走上正确的道路,我们将不胜感激。

好的,我在您的JSFIDLE中添加了一些代码来显示按钮prev,next:

HTML

<input type="button" value="prev" id="prevbutton" />
<input type="button" value="next" id="nextbutton"/>
<div id='calendar'></div>
现在,对于您的JSON,您必须在PHP中进行管理,以获得如下JSON字符串

[{"id":"24","title":"testing with defaultView: agendaDay, not showing in Day","start":"2014-01-09 08:30:00","end":"2014-01-09 09:30:00","url":"","allDay":false}]
使用

若要查看字符串是否正确,必须从PHP中的数据库(而不是客户端)转换allDay的0和1值

编辑

在下面的对话之后

你误解了我的观点,Sebastian,那是为了让你在PHP中获取PDO::FETCH_ASSOC的内容,并将其转换为普通的PHP关联数组,而在构建普通PHP数组时,你将以这种转换方式更改allDay的值

基于该链接,您可以访问返回的行,该行实际上是一个关联数组,就像我们都从PHP中知道的那样,并将allDay值从0更改为false(例如)


只有这样,您才能使用json_encode()并将其发送回fullcalendar。

您可以在浏览器控制台中显示返回的json。我可以在JSFIDLE中看到呈现事件“不在全天时段”,您可以编辑您的问题并在浏览器控制台中发布返回的json吗。@Henrique C.嗨,Henrique,这里是JSON:这里是正在运行的代码:。因此,在第一次加载中,您可以在全天区域中看到事件。如果你点击“月”,然后点击“日”,活动就在正确的地方。谢谢,对不起,塞巴斯蒂安,你能在日历中加入导航功能吗?只是想看看在day view中事件的呈现是否正常。顺便问一下,为什么不在事件的JSON“allDay”中设置:true或false?谢谢Henrique,我在events.php中更改了最后一行:echo JSON_encode($resultat->fetchAll(PDO::FETCH_ASSOC));对于您的var_dump(json_解码($resultat->fetchAll(PDO::FETCH_ASSOC));但给了我一个警告:json_decode()希望参数1是字符串,数组在第21行的/var/www/clients/client2/web24/web/fullcalendar-1.6.4/events.php中给出,这将有所帮助;)然后尝试通过创建一个PHP数组来使用它,然后将这个PHP数组用于您的var_转储(json_decode($newPHPArray));感谢Henrique,我使用了print_r(json_encode($resultat->fetchAll(PDO::FETCH_ASSOC));(正如建议的,并尝试了其他建议)但JSON仍然是allDay:0,而不是allDay:false。但我认为问题并不存在。我还试图“破解”结果,只需通过:allDay=false;我忘了提到,我认为问题不在于JSON,因为如果我选择查看月份而不是日期,它就可以正常工作。问题发生在我想先看一天的时候,这正是我所需要的;o) 选中edit Sebastian,如果需要我构建代码,我会;)
var calendar = $('#calendar').fullCalendar({
defaultView: 'agendaDay',
header: {
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
},
editable: true,
year: 2014,
month: 0,
day:7,
buttonText: {
    prev: '&lt;',
    next: '&gt;'
},
events: [
    {
        title: 'testing defaultView with agendaDay and JSON event',
        start: '2014-01-07 11:00',
        allDay: false
    }
]
});

$('#prevbutton').click(function() {
calendar.fullCalendar('prev');
});

$('#nextbutton').click(function() {
calendar.fullCalendar('next');
});
[{"id":"24","title":"testing with defaultView: agendaDay, not showing in Day","start":"2014-01-09 08:30:00","end":"2014-01-09 09:30:00","url":"","allDay":false}]
var_dump(json_decode($json));