IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

[AJAX] Remplissage calendrier ajax avec la librairie prototype


Sujet :

AJAX

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Par défaut [AJAX] Remplissage calendrier ajax avec la librairie prototype
    Bonjour,
    j'ai voulu essayer le calendrier du cours de j-seignalet
    http://j-seignalet.developpez.com/tu...rier/index.php

    Le problème est que sur son exemple tout fonctionne correctement, mais que je refait le cours ou bien quand je test les sources, m'ont calendrier ne se remplit pas. La seule chose que je peu faire est me déplacer dans les mois, mais en aucun cas, il me remplit le calendrier avec les numéros de jours correspondant.

    Et après m'etre arraché les cheveux depuis quelques temps je me permet de vous demander votre aide pour le résoudre.

    en vous remerciant.

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2006
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 20
    Par défaut
    Apres recherche, et en utilisant firebug ( que je ne sais pas utiliser ) j'ai déduit que le problème venais de la réponse JSON qui retournait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ({mois_en_cours: "Mai 2011", lien_suivant: "tableau('06','2011')", lien_precedent: "tableau('04','2011')", calendrier: [{fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}]});
    alors que celle de l'exemple etait:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ({mois_en_cours: "Juin 2011", lien_suivant: "tableau('07','2011')", lien_precedent: "tableau('05','2011')", calendrier: [{fill: ""}, {fill: ""}, {fill: "1"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/2\");'>2</a>"}, {fill: "3"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/4\");'>4</a>"}, {fill: "5"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/6\");'>6</a>"}, {fill: "7"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/8\");'>8</a>"}, {fill: "9"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/10\");'>10</a>"}, {fill: "11"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/12\");'>12</a>"}, {fill: "13"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/14\");'>14</a>"}, {fill: "15"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/16\");'>16</a>"}, {fill: "17"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/18\");'>18</a>"}, {fill: "19"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/20\");'>20</a>"}, {fill: "21"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/22\");'>22</a>"}, {fill: "23"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/24\");'>24</a>"}, {fill: "25"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/26\");'>26</a>"}, {fill: "27"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/28\");'>28</a>"}, {fill: "29"}, {fill: "<a href='#' onclick='showEvent(\"2011/06/30\");'>30</a>"}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}, {fill: ""}]});
    voici le code qui gere la reponse JSON mais je ne comprend pas d'ou vient le probleme.

    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    <?php
         header('Content-Type: text/x-json; charset: iso-8859-1');
         //on se connecte à la bdd
     
         include("../config/func_calendrier.php");
         //On récupère le mois et l'année pour le traitement
         $mois=$_GET['mois'];
         $annee=$_GET['annee'];
         ///////////////////////////////////////////////////////////////////////////////////
         //   on va formater ici un flux JSON qui va pouvoir etre lu par le js client.
         //   Format du JSON:
         //   {
         //      "mois_en_cours" : $mois_en_cours
         //      "lien_precedent" : $lien_vers_le_mois_precedent ,
         //      "lien_suivant" : $lien_vers_le_mois_suivant ,
         //      "calendrier": [
         //            {
         //
         //               "fill": $contenu_a_afficher //(rien, jour du mois ou jour
         //                                           //du mois avec lien
         //            },
         //                    ]
         //   }
         //
         //
         //
         ///////////////////////////////////////////////////////////////////////////////////
         //
         //                    On prépare le début du retour au format JSON
         ///////////////////////////////////////////////////////////////////////////////////
         $retour_json='';
         ///////////////////////////////////////////////////////////////////////////////////
         //On détermine d'abord les liens "suivant" "precedent" et le "mois en cours" du calendrier
         ///////////////////////////////////////////////////////////////////////////////////
         $mois=$_GET['mois'];
         $annee=$_GET['annee'];
         $retour_json='{';
         //mois en cours
         $mois_fr=getMois($mois);
         $titre=htmlentities($mois_fr." ".$annee,ENT_QUOTES);
         $retour_json.='"mois_en_cours" : "'.$titre.'" , ';
         //lien suivant
         $date_suivant=getSuivant($mois,$annee,1);
         $lien_suivant="tableau('".$date_suivant[$mois]."','".$date_suivant[$annee]."')";
         $retour_json.='"lien_suivant" : "'.$lien_suivant.'" , ';
         //lien précédent
         $date_precedent=getSuivant($mois,$annee,-1);
         $lien_precedent="tableau('".$date_precedent[$mois]."','".$date_precedent[$annee]."')";
         $retour_json.='"lien_precedent" : "'.$lien_precedent.'" , ';
     
     
    //Maintenant, on peut peupler le calendrier sous forme d'un tableau de 6 lignes * 7 colonnes
    //On crée notre tableau de 6semaines*7jours soit 42 éléments.
    //On récupère le jour qui démmarre le mois
    //ON va stocker tous les jours du mois dans un tableau tab_jours php
    $tab_jours=array();
    $num_jour=getFirstDay($mois,$annee);
    $compteur=1;
    $num_jour_courant=1;
    while($compteur<43){
         if($compteur<$num_jour){
              //On gère les "blancs" du calendrier car un mois ne commence pas toujours un Lundi.
    		  $tab_jours[$compteur]='';
         }else
         {
             //si la date existe, on affiche alors le jour dans la cellule du tableau
             if(checkdate($mois,$num_jour_courant,$annee)){
                  //On vérifie si un évènement a lieu ce jour ci
                  $date=$annee."/".$mois."/".$num_jour_courant;
                  $contenu='';
                  $requete="select * from evenements where evenement_date='".$date."'";
                  $ress=mysql_query($requete);
                  if($ress){
                      $nbre=mysql_num_rows($ress);
     
                      if($nbre>0){
                         //lien vers le script qui va déclencher l'affichage des évènement pour le jour donné
                         $lien='<a href=\'#\' onclick=\'showEvent(\\"'.$date.'\\");\'>'.$num_jour_courant.'</a>';
                         $tab_jours[$compteur]=$lien;
                      }else
                      {
     
                        $tab_jours[$compteur]=$num_jour_courant;
                      }
                      mysql_free_result($ress);
                  }
                  $num_jour_courant++;
     
             }else
             {
               //On gère ici les "blanc" de fin de ligne car un mois ne se termine pas toujours un dimanche.
    		   $tab_jours[$compteur]='';
             }
     
         }
           $compteur++;
    }
     
         ///////////////////////////////////////////////////////////////////////////////////
         // Maintenant que l'on a notre tableau d'évènements pour chaque jour du mois
         // On finit de construire la réponse JSON
         ///////////////////////////////////////////////////////////////////////////////////
         if(!empty($tab_jours)){
            $retour_json.=' "calendrier" : [ ';
            $compteur=1;
            while($compteur<43){
               if($compteur==42){
                $retour_json.=' { "fill" : "'.$tab_jours[$compteur].'" } ';
               }else
               {
                $retour_json.=' { "fill" : "'.$tab_jours[$compteur].'" } , ';
               }
            $compteur++;
            }
            $retour_json.=' ] ';
         }
         $retour_json.=' } ';
     
         echo $retour_json;
     
    ?>

Discussions similaires

  1. [Prototype] Tutoriel : "Développer un calendrier dynamique avec AJAX et PHP"
    Par brutos dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 08/06/2013, 16h35
  2. [STRUTS][AJAX]Quel framework AJAX avec Struts
    Par woodwai dans le forum Struts 1
    Réponses: 24
    Dernier message: 12/03/2009, 16h19
  3. calendrier ajax avec RoR
    Par fmh1982 dans le forum Ruby on Rails
    Réponses: 3
    Dernier message: 28/08/2007, 13h40
  4. [MooTools] Récuperation de titre avec une librairie ajax
    Par nemo666 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 23/04/2007, 20h16
  5. [AJAX] Remplissage d'un div avec Firefox
    Par arouze dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/01/2007, 12h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo