2016-09-10 2 views
0

Я не могу добавить название события, которое я ввел во всплывающее окно.Добавить событие в базу данных mysql с помощью ajax

У меня есть этот JQuery код, где я разместил свой Ajax код:

$(document).ready(function() { 

var date = new Date(); 
var d = date.getDate(); 
var m = date.getMonth(); 
var y = date.getFullYear(); 

    var calendar = $('#calendar').fullCalendar({     
     editable: true, 
     events: "http://localhost/test/events.php", 
     selectable: true, 
     selectHelper: true, 
     select: function(start, end, allDay) { 
     var title = prompt('Event Title:'); 
     if (title) { 

     /* 
     start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss"); 
     end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss"); 
     $.ajax({ 
     url: 'http://localhost/test/add_events.php', 
     data: 'title='+ title+'&start='+ start +'&end='+ end , 
     type: "POST", 
     success: function(json) { 
     alert('OK'); 
     } 
     }); 
     */ 

     calendar.fullCalendar('renderEvent', 
     { 
     title: title, 
     start: start, 
     end: end, 
     allDay: allDay 
     }, 
     true // make the event "stick" 
     ); 
     } 
     calendar.fullCalendar('unselect'); 
     } 
    }); 

}); 

то у меня есть этот add_events.php где запрос вставки записывается

<?php 

    $title=$_POST['title']; 
    $start=$_POST['start']; 
    $end=$_POST['end']; 

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

    $sql = "INSERT INTO evenement (title, start, end) VALUES (:title, :start, :end)"; 
    $q = $bdd->prepare($sql); 
    $q->execute(array(':title'=>$title, ':start'=>$start, ':end'=>$end)); 
    ?> 

я прокомментировал фрагмент кода из моего default.html, потому что я думаю, что в этом проблема. Когда я комментирую этот фрагмент кода, я могу добавить событие через всплывающее окно и после подтверждения названия события заголовок события будет явно отображаться в моем полном календаре (но еще не добавлен в базу данных). Но если я «раскомментирую» этот раздел, введенный заголовок события через всплывающее окно не отображается в моем полном календаре (и, очевидно, он еще не добавлен в мою базу данных)

Может кто-нибудь помочь мне изменить мой код ajax, чтобы Я могу сделать типизированный заголовок события через всплывающее окно в моем полном календаре и быть успешно добавлен в мою базу данных.

Заранее благодарен!

ответ

0

Я думаю, что ваша ошибка в вашем вызове Ajax и том, как вы устанавливаете свои данные в почтовом вызове.

Ваш атрибут данных должен быть таким:

var start = $.fullCalendar.formatDate(start, "yyyy-MM-dd HH:mm:ss"); 
var end = $.fullCalendar.formatDate(end, "yyyy-MM-dd HH:mm:ss"); 
var title = "Title name"; 
$.ajax({ 
    url: 'http://localhost/test/add_events.php', 
    data: { 
     title: title, 
     start: start, 
     end: end 
    }, 
    type: "POST", 
    success: function(json) { 
     alert('OK'); 
    } 
}); 
+0

же проблема возникает. тем не менее, заголовок введенного события не отображается в моем полном календарном –

Смежные вопросы