Bonjour,
J'utilise le plugin Jquery Week Calendar (du moins j'essaie) et j'ai quelques problèmes pour exploiter les données.
De ce que j'ai compris, pour récupérer des horaires et les afficher dans le calendrier, il faut utiliser la fonction javascript suivante et retourner un code en JSON : (fourni dans les fichiers de la démo)
Le code JSON des différents horaires est codé en dur dans la démo.
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 function getEventData() { var year = new Date().getFullYear(); var month = new Date().getMonth(); var day = new Date().getDate(); return { events : [ { "id":1, "start": new Date(year, month, day, 12), "end": new Date(year, month, day, 13, 30), "title":"Lunch with Mike" }, { "id":2, "start": new Date(year, month, day, 14), "end": new Date(year, month, day, 14, 45), "title":"Dev Meeting" } ] }; }
Comme le code renvoyé est du JSON, j'ai donc essayé de faire une fonction qui renvoi du JSON pour pouvoir récupérer des horaires dynamiquement. J'ai donc modifié la fonction précédente en ajoutant la fonction getJSON :
Mon fichier "test.php" appelé : (dans le même répertoire que mon fichier javascript et html)
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 function getEventData() { var year = new Date().getFullYear(); var month = new Date().getMonth(); var day = new Date().getDate(); var test = 'ok'; var url = "test.php?t1=1&t2=2"; // j'aurai pu mettre {t1:1, t2:2} apres le "url," $.getJSON(url, function(json) { alert( test ); $.each(json.horaires, function(i,horaire) { alert(horaire.id); }); }); }
Dans Firebug je vois bien que le traitement s'effectue, mais le callback de la fonction getJSON ne fonctionne pas. Le alert( test ); passe mais pas la boucle suivante. Je ne sais pas comment faire sachant qu'aucune erreur ne s'affiche dans firebug.
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 <?php if( 1 == 1 ) // ce test ne sert effectivement à rien pour l'instant ^^ { $tab = '{ "id":1, "start": Thu May 20 2010 12:00:00 GMT+0200, "end": Thu May 20 2010 13:00:00 GMT+0200, "title":"Lunch with Mike" }'; } else { $tab = '{ "id" : 0, }'; } echo '{"horaires":['.json_encode( $tab ).']}'; ?>
Ensuite quand je saurais récupérer les données correctement avec cette fonction, il faudra passer les données au return, et là aussi je bloque, j'ai essayer de mettre directement le code JSON d'un horaire dans une variable mais ça ne fonctionne pas.
J'ai aussi un autre soucis de transcription de date de PHP à JS. Dans le code JS la date est créer comme ceci....
....et m'affiche : Thu May 20 2010 12:00:00 GMT+0200
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 year = new Date().getFullYear(); month = new Date().getMonth(); day = new Date().getDate(); new Date(year, month, day, 12)
Je n'arrive pas à reproduire la date en langage php dans mon fichier test.php.
Si une âme charitable passait pas là et pouvait m'aider ce serait vraiment sympa.
Je vous remercie par avance
Cordialement
Partager