fullCalendar les événements après la méthode de MySQL
Je cherche à créer une base de données MySQL adossés à des événements de l'interface, à l'aide de fullCalendar et MySQL. J'ai essayé de manipuler les exemples dans la fullCalendar de documentation et d'avoir créé avec succès un des événements de flux à partir de ma base de données.
Je suis maintenant en train de créer un eventDrop
appel qui envoie un id d'événements, le titre et l'heure de début de la base de données. J'ai utilisé le code à partir d'un précédent question pour créer le eventDrop
appel, ici, c'est le JavaScript pour l'ensemble de callendar page:
$(document).ready(function() {
/* initialize the external events
-----------------------------------------------------------------*/
$('#external-events div.external-event').each(function() {
//create an Event Object (http://arshaw.com/fullcalendar/docs/event_data/Event_Object/)
//it doesn't need to have a start or end
var eventObject = {
title: $.trim($(this).text()) //use the element's text as the event title
};
//store the Event Object in the DOM element so we can get to it later
$(this).data('eventObject', eventObject);
//make the event draggable using jQuery UI
$(this).draggable({
zIndex: 999,
revert: true, //will cause the event to go back to its
revertDuration: 0 // original position after the drag
});
});
/* initialize the calendar
-----------------------------------------------------------------*/
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
droppable: true, //this allows things to be dropped onto the calendar !!!
drop: function(date, allDay) { //this function is called when something is dropped
//retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
//we need to copy it, so that multiple events don't have a reference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
//assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
//render the event on the calendar
//the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
//if so, remove the element from the "Draggable Events" list
$(this).remove();
},
//events from mysql database
events: "/json-events.php",
//submit to database
eventDrop: function(calEvent, jsEvent, view) {
var method = 'POST';
var path = 'submit.php';
var params = new Array();
params['id'] = calEvent.id;
params['start'] = calEvent.start;
params['end'] = calEvent.end;
params['title'] = calEvent.title;
post_to_url( path, params, method);
}
});
});
Le fichier PHP je l'espère recevoir le POST de données et les insérer dans la base de données avec une fin des temps égal au temps de début au plus 15 minutes (éditée après la réponse ci-dessous):
<?php
mysql_connect("") or die(mysql_error());
mysql_select_db("") or die(mysql_error());
$id = $_POST["id"];
$title = $_POST["title"];
$start = $_POST["start"];
$end = date(Y-m-d T H:i:s , strtotime($start)+900);
$query = "INSERT INTO `events` VALUES (`$id`, `$title`, `$start`, `$end`, ``)";
mysql_query($query);
print $query;
?>
La base de données n'est pas de recevoir les données d'événement.
OriginalL'auteur SlartyBartfast | 2012-11-12
Vous devez vous connecter pour publier un commentaire.
C'est la conclusion à laquelle j'en suis venu avec et je n'ai aucun problème l'exécution de ce de mon test et le serveur public.
J'ai pris la FullCalendar et c'est le format que j'utilise.
La base de données est très simple.
C'est le
index.php
ouindex.html
fichier.C'est le
json.php
fichier.OriginalL'auteur Daniel Sloan Johnson
Une fois supprimer les noms de colonne dans la requête d'insertion et d'essayer, si vous ne l'obtenez pas, alors nous allons y réfléchir. Faire quelque chose comme ceci
Il suffit d'imprimer les valeurs post avant de l'insérer, si il semble clair, puis vérifiez votre requête.
echo de la requête et de sortie, vous pouvez obtenir quelque chose comme cela
Exécuter cette requête pour rechercher les erreurs si tout
$id = $_POST["id"]; $title = $_POST["title"]; $start = $_POST["start"]; $end = date(Y-m-d T H:i:s , strtotime($start)+900); $query = "INSERT INTO
événements " VALEURS ($id
,$title
,$start
,$end
, `)"; mysql_query($query); print $query`, j'obtiens une erreur interne du serveur lors du passage de variables directement dans l'url?OriginalL'auteur Srihari Goud
print $query
- il devrait y avoir un;
à la finOriginalL'auteur marc