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

JavaScript Discussion :

calendrier developpez


Sujet :

JavaScript

  1. #21
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 133
    Par défaut
    Citation Envoyé par sabou94 Voir le message
    Bon j'ai réussi à le faire fonctionner correctement, merci quand meme!
    ah ok. Content pour toi alors
    Bon je résoud.

  2. #22
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 10
    Par défaut
    Ah oui j'ai téléchargé les sources tout en suivant le tuto en fait et j'ai modifié un peu!
    D'ailleurs, je n'arrive pas à colorier la cellule contenant le lien dans le calendrier (jour ayant un événement) ! Je ne vois pas à quel moment mettre ca... Tu vois comment faire?
    Merci pour le résolu! :-p

  3. #23
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 10
    Par défaut
    Bouh j'y arrive pas, pourtant l'auteur du tuto met à la fin que ca devrait être simple de colorier les cellules contenant des événements mais je n'y arrive pas

  4. #24
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 658
    Billets dans le blog
    1
    Par défaut
    tu as le lien du tuto ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #25
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 10

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 133
    Par défaut
    voilà comment tu pourrais faire (ça marche même si c'est surement pas le top).

    Dans le fichier calendrier_ajax.php tu remplis un tableau tab_jours. Dedans tu mets soit un chiffre, soit un lien. Le lien, c'est si tu as des commentaires.
    Tu peux donc créer un tableau en parrallèle avec une variable qui dis si c'est un lien ou pas.

    exemple (ce sera plus simple):
    Je remplis mon tableau tab_jours et le nouveau : tab_liens

    si lien alors tab_liens vaut 'ok', sinon il vaut 'no'

    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
    while($compteur<43){
         if($compteur<$num_jour){
              $tab_jours[$compteur]='';
    		  $tab_lien[$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;
    					 $tab_lien[$compteur]='ok';
                      }else
                      {
                        $tab_jours[$compteur]=$num_jour_courant;
    					$tab_lien[$compteur]='no';
                      }
                      mysql_free_result($ress);
                  }
                  $num_jour_courant++;
     
             }else
             {
               $tab_jours[$compteur]='';
    		   $tab_lien[$compteur]='';
             }
     
         }
           $compteur++;
         }


    ensuite tu insères dans json tes tableaux tab_jours et tab_liens :

    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
    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.=' ] , ';
         }
     
     
    	 if(!empty($tab_lien)){
            $retour_json.=' "lien" : [ ';
            $compteur=1;
            while($compteur<43){
     		   if($compteur==42){
                $retour_json.=' { "fill" : "'.$tab_lien[$compteur].'" } ';
               }else
               {
                $retour_json.=' { "fill" : "'.$tab_lien[$compteur].'" } , ';
               }
            $compteur++;
            }
            $retour_json.=' ] ';
         }
         $retour_json.=' } ';
     
         echo $retour_json;

    Du coup tu peux dans le fichier function inspecter ton tableau et si t'as ok alors tu changes la couleur de la cellule


    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
    function remplirCalendrier(reponsejson) {
           //on utilise la fonction evalJSON de prototype pour parser la réponse JSON
           var data=reponsejson.responseText.evalJSON();
    	   //On place les liens suivants,précédents et le mois en cours
           $('link_suivant').onclick=function(){eval(data.lien_suivant) ;};
           $('link_precedent').onclick=function(){eval(data.lien_precedent);};
    	   $('titre').innerHTML=data.mois_en_cours;
           //Maintenant, on affiche tous les jours du calendrier
           var compteur=1;
           var id='';       
    	   while(compteur<43){
              id=compteur.toString();
              $(id).innerHTML=data.calendrier[(compteur-1)].fill;
    //ici on inspecte le tableau lien		
      if (data.lien[(compteur-1)].fill=='ok'){
    		$(id).style.background='#eeeeee';
    		  }
              compteur++;
           }
    }


    plus simple sinon !!!
    Tu regardes la valeur de data.calendrier[(compteur-1)].fill dans la fonction remplirCalendrier
    Si ça commence par "<a href" alors c'est qu'il y a un lien donc tu grises la case.

    voili voilou

  7. #27
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 10
    Par défaut
    Bonjour et merci pour ta réponse!
    J'ai testé le fait de tester la valeur de data.calendrier[(compteur-1)]... et en fait si j'ai un événement le 3avril, ma case est bien coloré comme je le voulais, seulement si je change de mois et que je passe en mai, mon 3 mai est coloré aussi :-/
    Je vais continuer à chercher de mon coté mais si vous avez des conseils n'hésitez pas, ca doit etre un truc nul en plus...
    Merci beaucoup en tout cas!

  8. #28
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 10
    Par défaut
    Au temps pour moi, j'avais oublié de mettre le else si ca ne commencait pas par href, maintenant ca fonctionne correctement, merci à tous ceux qui m'ont aidé!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Rejoignez la rédaction de www.developpez.com
    Par Community Management dans le forum Evolutions du club
    Réponses: 22
    Dernier message: 28/12/2015, 11h06
  2. [JavaScript] Calendrier developpez V2 ( plus mieux mieux )
    Par le_chomeur dans le forum Contribuez
    Réponses: 74
    Dernier message: 26/12/2014, 07h53
  3. Réponses: 12
    Dernier message: 11/05/2009, 10h41
  4. Tutoriels, F.A.Q : la rubrique Assembleur de Developpez.com
    Par Alcatîz dans le forum Assembleur
    Réponses: 3
    Dernier message: 07/06/2007, 19h14

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