将jQuery fullcalendar集成到PHP网站中
我想将jQuery fullcalendar集成到我的PHP网站中,但我不知道如何处理事件以及如何使用来自MySQL的JSON数据将jQuery fullcalendar集成到PHP网站中,php,jquery,calendar,fullcalendar,Php,Jquery,Calendar,Fullcalendar,我想将jQuery fullcalendar集成到我的PHP网站中,但我不知道如何处理事件以及如何使用来自MySQL的JSON数据 任何建议都将不胜感激。请确保您的PHP可以输出f: 下面是PHP代码: <?php $year = date('Y'); $month = date('m'); echo json_encode(array( array( 'id' => 1, 'title' => "
任何建议都将不胜感激。请确保您的PHP可以输出f: 下面是PHP代码:
<?php
$year = date('Y');
$month = date('m');
echo json_encode(array(
array(
'id' => 1,
'title' => "Event1",
'start' => "$year-$month-10",
'url' => "http://yahoo.com/"
),
array(
'id' => 2,
'title' => "Event2",
'start' => "$year-$month-20",
'end' => "$year-$month-22",
'url' => "http://yahoo.com/"
)
));
?>
我不熟悉jquery。但我认为问题在于您没有考虑Ajax的异步特性 除非fullCalendar()执行一些非常奇怪的操作(触发Ajax请求并等待响应),否则您将无法以这种方式在函数中使用外部源,因为当服务器返回响应时,fullCalendar将已完成运行
在“周日历”网页上,似乎没有明确的示例说明您正在尝试做什么,但我确信您需要的是创建没有事件的日历,但定义了用于添加事件的回调;然后以某种方式发出外部呼叫 我想你的问题和我的一样。我在网上搜索,试图找到如何设置日期时间,以便fullCalendar javascript能够正确解释它。(这一页有一些很好的线索:) 我把这篇文章贴在了完整的日历问题页面上,希望创作者或其他人能对这个主题有所启发 ============================问题说明==================== 什么步骤会重现问题
- 我希望活动将在日历中显示开始时间 10:00和结束时间11:01
- 它以全天活动的形式出现
- FullCalendar v1.4.1
- 视窗XP
DateTime
对象的格式有问题
我在JSON
中返回,这导致fullcalendar
将事件解释为fullDayEvents
。我在邮件中发送的格式
JSON
是:2009-11-17T11:01:00
我也遇到了同样的问题,我刚刚找到了如何让它工作的方法。
以下是您应该在php文件中使用的代码:
$query = "select * from events where accountNo = '$accountNo'";
$res = mysql_query($query) or die(mysql_error());
$events = array();
while ($row = mysql_fetch_assoc($res)) {
$start = "2010-01-08T08:30"";//Here you have to format data from DB like this.
$end = "2010-01-08T08:30";//This format works fine
$title = $row['firstName']." ".$row['lastName'];
$eventsArray['id'] = $row['id'];
$eventsArray['title'] = $title;
$eventsArray['start'] = $start;
$eventsArray['end'] = $end;
$eventsArray['allDay'] = "";
$events[] = $eventsArray;
}
echo json_encode($events);
我希望它有帮助:)。“2010-02-11 11:00:00”格式可以很好地为我指定时间(里面没有“T”),
解决方案的关键是将事件的“allDay”属性设置为空字符串。嘿,我没有使用上面的代码,但是在json_events.php中,默认的是 php输出开头的“[”和结尾的“]”此示例有效:
$sql= "SELECT id, title, start, DATE_FORMAT(start, '%Y-%m-%dT%H:%i' ) AS startDate
FROM kalender
ORDER BY startDate DESC";
$res = mysql_db_query($db, $sql, $conn) or die(mysql_error());
$events = array();
//important ! $start = "2010-05-10T08:30"; iso8601 format !!
while ($row = mysql_fetch_assoc($res)) {
$eventArray['id'] = $row['id'];
$eventArray['title'] = $row['title'];
$eventArray['start'] = $row['startDate'];
$events[] = $eventArray;
}
echo json_encode($events);
回显事件的输出应采用以下格式:
$('#calendar').fullCalendar({
events: [{
title: 'Awesome Event Title',
start: new Date($start_year, $start_month, $start_day), or end: new Date(y, m, d),
end: new Date($end_year, $end_month, $end_day) or end: new Date(y, m, d)
}]
});
以这种方式实施,效果很好
$result = mysql_query("SELECT * FROM eventoform",$conexion);
$array = array();
$i = 0;
while ($row = mysql_fetch_array($result)) {
$array[$i]=array("id"=>$row["id_evento"],"title"=>$row["NombreEvento"],"start"=>$row["FechaInicio"]." ".$row["HoraInicio"],"allDay"=>false,"description"=>$row["description"],"editable"=>true);
$i++;
}
echo json_encode($array);
在PHP-JSON中:
$eventsArray['allDay'] = "false"; //doesn't work
$eventsArray['allDay'] = false; //did the trick to have a NON FULL DAY correctly rendered!!
以防有人使用rails和jbuilder生成json提要……您必须添加全天属性
json.array!(@resubmissions) do |object|
json.id object.id
json.title "WVL - #{object.to_s}"
json.start object.resubmission_at.to_i
json.allDay false
end
不过,感谢PHP解决方案 你指的是日历吗?如果真的很紧急,你应该试试IRC频道……为什么我们会在意任务是否紧急?对我来说,这通常是一个不回答问题的理由。如果您需要快速完成某些事情,请为自己寻找一些付费支持。@elzapp是的,就是那个插件。@Duroth是的,您是对的。几天以来我一直在忍受它。我来这里是想得到更多的想法和建议。非常感谢你的建议。非常感谢你的评论。但我认为你有一些误解,或者我没有很清楚地描述它。我想添加jquery weekcalendar插件,这里有一个示例。那里一切都在进行中。但我想让它与mysql数据库一起工作。谢谢!!!!!!!根据服务器的不同,确保设置了
date\u default\u timezone\u(“美国/您的时区”)代码>在日期(XXX)之前打电话谢谢你的帖子。你有点指出了我的问题。实际上,我无法添加/编辑/删除事件,也无法通过json从mysql获取数据。我会尽力安排和解决的。谢谢,哦,谢谢,伙计,是我
$result = mysql_query("SELECT * FROM eventoform",$conexion);
$array = array();
$i = 0;
while ($row = mysql_fetch_array($result)) {
$array[$i]=array("id"=>$row["id_evento"],"title"=>$row["NombreEvento"],"start"=>$row["FechaInicio"]." ".$row["HoraInicio"],"allDay"=>false,"description"=>$row["description"],"editable"=>true);
$i++;
}
echo json_encode($array);
$eventsArray['allDay'] = "false"; //doesn't work
$eventsArray['allDay'] = false; //did the trick to have a NON FULL DAY correctly rendered!!
json.array!(@resubmissions) do |object|
json.id object.id
json.title "WVL - #{object.to_s}"
json.start object.resubmission_at.to_i
json.allDay false
end