防止重叠Fullcalendar AJAX

时间:2017-09-01 07:27:59

标签: php jquery ajax fullcalendar

这是我的JS:

$.ajax({
    url: 'ajaxAddEvent.php',
    type: 'post',
    dataType: 'json',
    data: $('#newEventForm').serialize() + '&type=1',
    success: function(data) {
         toastr.success('L\'évènement a été créé');
         $('#dialogAdd').dialog('close');
         $('#calendar').fullCalendar('refetchEvents');
    },
    error: function() {
         alert('La requête AJAX n\'a pas abouti, contactez l\'administrateur');
    }
});

这是我的PHP返回AJAX数据(ajaxAddEvent.php):

//Pour la date de début
$dateTimeStart = new DateTime();
$dateTimeStart = $dateTimeStart->createFromFormat('d/m/Y', $_POST['startDate']);
$dateStartSQL = $dateTimeStart->format('Y-m-d');

//Pour la date de fin
$dateTimeEnd = new DateTime();
$dateTimeEnd = $dateTimeEnd->createFromFormat('d/m/Y', $_POST['endDate']);
$dateEndSQL = $dateTimeEnd->format('Y-m-d');

$eventStartSQL = $dateStartSQL . ' ' . $_POST['startHour'];
$eventEndSQL = $dateEndSQL . ' ' . $_POST['endHour'];

$req = $bdd->prepare('INSERT INTO event (eventTitle, eventRef, eventStart, eventEnd, calendarID, eventComments) VALUES(:eventTitle, :eventRef, :eventStart, :eventEnd, :calendarID, :eventComments)');
$req->execute(array(
    'eventTitle' => $_POST['title'],
    'eventRef' => $_POST['ref'],
    'eventStart' => $eventStartSQL,
    'eventEnd' => $eventEndSQL,
    'calendarID' => $_POST['type'],
    'eventComments' => $_POST['comments']
));
$req->closeCursor();

我知道fullCalendar中有一个选项可以防止事件重叠。但是,我使用另一种创建事件的方法,即使选项设置为false,事件也将在与另一个相同的位置创建。

我想帮助检查PHP文件中的数据库中是否已存在某个事件,然后我可以插入新事件或将数据返回给JS以便编写错误消息。

提前谢谢。

0 个答案:

没有答案