Bonjour,
j'ai créé un calendrier avec le plugin jQuery FullCalendar.
J'utilise la version "drag & drop" du calendrier.
Quand je drag un évènement sur mon calendrier, j'appelle une page php qui exécute une requête mysql.
Lors de mon appel, je fais un $_GET qui contient une date (au format à rallonge : date, format, ville indiquant le GMT ...).
Dans ma base de données, il faut que j'enregistre l'évènement avec sa date (donc ce qu'il y a dans le $_GET).
Sauf que ça ne fonctionne pas !
Et le problème est plus précis :
- cela fonctionne quand je mets une chaîne de caractères dans ma variable ou même quand j'appelle la fonction date() de php
- mais quand je veux juste récupérer mon $_GET['date'], ça ne fonctionne pas.
Voici mon code (problème vers le bas) :
Et mon code php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, editable: true, events: "json-events.php", eventDrop: function(event, delta) { alert(event.title + ' was moved ' + delta + ' days\n'); }, 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); // is the "remove after drop" checkbox checked? if ($('#drop-remove').is(':checked')) { // if so, remove the element from the "Draggable Events" list $(this).remove(); } // PROBLEME ICI $.ajax({ type: 'GET', data: 'date='+date, url: 'movedate.php?date='+date, success: function(html) { alert('Message de retour : ' + date); // La date a été mise à jour, l'alert affiche bien la date } }); } }); });
monchamp est un champ texte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php if(isset($_GET['date'])) { $date = 'mon get reussi'; // $_GET['date'] ne fonctionne pas } else $date = date("Y m d"); $req = "UPDATE matable SET monchamp = 'blablabla $date' WHERE monchamp = '123'"; $res = mysql_query($req); ?>
Tout passe bien dans mon if() mais si je mets $date = $_GET['date']; plus rien ne change dans ma base.
Et je ne vois pas bien pourquoi j'ai ce comportement ...
De plus, j'ai ajouté dans l'url (dans le javascript) : ?date+date alors que c'est ce que j'ai dans data au dessus. Donc peut-être inutile ou mal écrit ?
Si vous pouviez m'aider ^^
Partager