Я хочу сохранить мои перетаскиваемые события в моей базе данных

0

Я использую fullcalendar. У меня есть возможность сделать новое событие или изменить событие. это открывает диалоговое окно, в котором вы можете редактировать данные и публиковать их в базе данных. В настоящее время я работаю над функцией перетаскивания событий, но когда я перетаскиваю ее в календарь, она не хранится в базе данных.

Fullcalendarextern.js (часть для перетаскиваемых событий):

  $(document).ready(function() {
  var date = new Date();
  var d = date.getDate();
  var m = date.getMonth();
  var y = date.getFullYear();


        $('#external-events div.external-event').each(function() {


            var eventObject = {
                title: $.trim($(this).text()) 

            };

            $(this).data('eventObject', eventObject);

            $(this).draggable({
                zIndex: 999,
                revert: true,      
                revertDuration: 0  
            });

        });


  var calendar = $('#calendar').fullCalendar({
   editable: true,
   header: {
    left: 'prev,next today',
    center: 'title',
    right: 'month,agendaWeek,agendaDay'
   },

   events: "../testcalendar/fullcalendar/events.php",



     droppable: true, 
            drop: function(date, allDay) { 


                var originalEventObject = $(this).data('eventObject');

                var copiedEventObject = $.extend({}, originalEventObject);

                copiedEventObject.start = date;
                copiedEventObject.allDay = allDay;

                $('#calendar').fullCalendar('renderEvent', copiedEventObject, true);

                if ($('#drop-remove').is(':checked')) {
                    $(this).remove();

                }
                alert(date + ' was moved ' + allDay + ' days\n' +
                    '(should probably update your database)');


            },

   });

html файл (перетаскиваемая часть):

<div id='calendar'></div>
    <table class="displaylegenda"  >
    <thead>
<tr>

Статус Клеур

colortag;?> "> soort;?> Draggable Events colortag;?>"> soort;?> удалить после удаления events.php: query ($ requete) или die (print_r ($bdd-> errorInfo())); // отправка закодированного результата на страницу успеха echo json_encode ($resultat-> fetchAll (PDO :: FETCH_ASSOC)); ?>

process.php (в настоящее время используется только для нового диалогового окна событий):

    <?php
//include db configuration file
include 'connection.php';
function user_joined($user_werknemer,$user_project,$user_klant,$user_taak,$user_name,$user_desc, $user_start, $user_end, $user_color){

        $q = "INSERT INTO evenement (id,idWerknemer,idProject,idKlant,idTaak,title,description,start,end,color) VALUES 
            ('','".$user_werknemer."','".$user_project."','".$user_klant."','".$user_taak."','".$user_name."','".$user_desc."','".$user_start."','".$user_end."','".$user_color."')";
        $qo = "INSERT INTO evenementontvanger (idWerknemer,idProject,idEvent,idKlant,idTaak) VALUES ('".$user_werknemer."','".$user_project."','','".$user_klant."','".$user_taak."')";


    mysql_query($q);

    mysql_query($qo);}


if(isset($_POST['user_werknemer'],$_POST['user_project'],$_POST['user_klant'],$_POST['user_taak'],$_POST['user_name'],$_POST['user_desc'],$_POST['user_start'],$_POST['user_starttime'],$_POST['user_endtime'],$_POST['user_end'],$_POST['user_color'],$_POST['action'])){
        $user_werknemer=$_POST['user_werknemer'];
        $user_color=$_POST['user_color'];
        $user_name=$_POST['user_name'];
        $user_desc=$_POST['user_desc'];
        $user_project=$_POST['user_project'];
        $user_klant=$_POST['user_klant'];
        $user_taak=$_POST['user_taak'];
        $user_start=$_POST['user_start']." ".$_POST['user_starttime'];
        $user_end=$_POST['user_end']." ".$_POST['user_endtime'];
        $action=$_POST['action'];
        if ($action=='joined'){
            user_joined( $user_werknemer, $user_project, $user_klant, $user_taak, $user_name, $user_desc, $user_start, $user_end, $user_color);
            }
    }
/*if ( (isset($_POST["id"]) && strlen($_POST["id"]) >= 3 && strlen($_POST["id"]) <= 60) &&
    (isset($_POST["name"]) && strlen($_POST["name"]) >= 3 && strlen($_POST["name"]) <= 50) &&
    (isset($_POST["age"]) && strlen($_POST["age"]) >= 3 && strlen($_POST["age"]) <= 40) ) 
{   //check $_POST["name"] and $_POST["address"] and $_POST["city"] are not empty

    $id   = $_POST["id"];
    $name = $_POST["name"];
    $age   = $_POST["age"];

    $q = "INSERT INTO tbltest ( id, name, age) VALUES 
            ('".$id."','".$name."','".$age."')";
    mysql_query($q); 

}*/

?>
Теги:
fullcalendar

1 ответ

0

Я не знаком с fullcalendar, но я думаю, вы можете сделать запрос ajax в своей функции drop.

Например:

$.post(url: "update.php",{data you need to update});

Я думаю, что эти вопросы также могут помочь вам:

Как отправить запрос ajax для обновления события в интерфейсе FullCalender, когда вызывается eventDrop?

Падение события Fullcalendar и ajax

Ещё вопросы

Сообщество Overcoder
Наверх
Меню