【问题标题】:How to save an event in Fullcalendar?如何在 Fullcalendar 中保存活动?
【发布时间】:2014-11-07 11:53:28
【问题描述】:

我无法将事件保存到我的数据库。老实说,我不知道该怎么做。我可以在 phpmyadmin 中保存的完整日历中显示事件,但我的问题是如何从完整日历中保存事件。

<!DOCTYPE html>
 <html>
 <head>
  <meta charset='utf-8' />
  <link href='css/fullcalendar.css' rel='stylesheet' />
  <link href='css/fullcalendar.print.css' rel='stylesheet' media='print' />
  <script src='js/moment.min.js'></script>
  <script src='js/jquery.min.js'></script>
  <script src='js/fullcalendar.min.js'></script>

<script>

$(document).ready(function() {

    var calendar = $('#calendar').fullCalendar({
        editable: true,
        events:  "http://localhost/fullcalendar/events.php",

        //what goes here? :(
    });     
 });

</script>
<style>

body {
    margin: 0;
    padding: 0;
    font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif;
    font-size: 14px;
}

#calendar {
    width: 900px;
    margin: 40px auto;
}

</style>
</head>
<body>
<div id='calendar'></div>
</body>
</html>

【问题讨论】:

  • 使用完整日历 v2.1 您正在使用旧版本。
  • @farhatmihalko 感谢伙伴的帮助! :)
  • @Anup 我正在使用 v2.1,问题是我不知道如何使用它并保存事件。 :(我是一个完全的新手,我需要有人教我。:(

标签: php jquery mysql fullcalendar


【解决方案1】:

您必须进行 ajax 调用。

例如:

var title = event.title;
            var start = event.start.format();
            var end = (event.end == null) ? start : event.end.format();
            $.ajax({
                url: 'process.php',
                data: 'type=newtitle&title='+title+'&start='+start+'&end='+end+'&eventid='+event.id,
                type: 'POST',
                dataType: 'json',
                success: function(response){
                    if(response.status != 'success')                            
                    revertFunc();
                },......

在你的 php 文件中,你可以设置每个对象:

$type = $_POST['type'];

if($type == 'newtitle')
{

    $title = $_POST['title'];
    $insert = mysqli_query($con,"INSERT INTO mytable(`title`) VALUES('$title')");
    $lastid = mysqli_insert_id($con);
    echo json_encode(array('status'=>'success','eventid'=>$lastid));
}

【讨论】:

    【解决方案2】:
    var s ="[{'title':1,'description':'Test1','start':'2014-09-15 16:00:00'}]";
            var myObject = eval('(' + s + ')');
    
            $('#CalContainer').fullCalendar(
            {
                defaultView : 'aWeek',
                slotEventOverlap : false,
                weekends : true,
                allDaySlot : false,
                firstDay:1,
                minTime:"06:00:00",
                maxTime:"24:00:00",
                forceEventDuration:true,
                defaultTimedEventDuration:"01:00:00",
                contentHeight : "400px",
                events:myObject,
    
                eventClick: function(calEvent, jsEvent, view) 
    
    
        {
    alert(calEvent);
    }
    });
    

    【讨论】:

    • 那么先生,我要把这个放在哪里?我很抱歉在这件事上很愚蠢。 :( 我试着把它放在我评论的地方,“这里发生了什么?”但什么也没出现,我的意思是日历不见了。:(
    • 在你的 js 文件中,还有 events:myObjects,...... 因为你以数组形式存储事件,使用这个函数,你是否创建了 div您的 html 仅显示事件或任何其他的确切问题是什么
    • 我能够显示我存储在 phpmyadmin 中的事件先生。现在我想继续这个项目,我想知道如何通过单击一天并询问事件标题并将其保存在数据库中来添加事件。 :(
    • 这不是如何保存事件的示例。这是一个如何从变量加载事件的示例。如果你想保存一个事件,它必须回到某个地方的 json 或数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-01
    • 2012-07-25
    • 1970-01-01
    • 2012-02-09
    • 2021-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多