Bonsoir,

j'ai suivi le tuto créer un calendrier pour un projet personnel mais comme je n'ai pas de serveur de base de données au boulot, j'ai essayé avec un fichier XML de ce type :

<HTML>
        <ID>
            <DATE>2011-01-01</DATE>
            <EVENT>MON 1ER EVENEMENT</EVENT>
        </ID>
        <ID>
            <DATE>2011-05-05</DATE>
            <EVENT>MON 2E EVENEMENT</EVENT>
        </ID>

</HTML>

je vous mets le code qui pourra peut-être intéresser certains dans le même cas que moi.

<ul class="events">
                                <?php
                                    if (file_exists('test.xml')) {
                                        $xmlStr = file_get_contents('test.xml');
                                        $xml = new SimpleXMLElement($xmlStr); 
                                        $xmldates = ($xml->ID);
                                            foreach ($xmldates as $xmldate){
                                                if (strtotime($xmldate->DATE) == $time) {
                                                    echo "<li>";
                                                     echo $xmldate->EVENT;
                                                     echo "</li>";
                                            }
                                        }
                                    } else {
                                      exit('Failed to open test.xml.');
                                    }
                                    ?> 
                                </ul>

C'est du SimpleXML et j'ai pas cherché à le mettre dans le fichier date.php comme dans le tuto mais ça fonctionne.

A plus

PEPE

4 réponses


PEPE
Auteur

Re-bonjour,

j'avance pas à pas avec mon fichier mais là j'ai un souci. Je n'arrive pas à récupérer l'évènement quand je clique sur la date dans le calendrier. J'ai essayé avec la méthode GetElementById mais je n'obtient que le 1er évènement de la liste...

$('table tbody tr').click(function(){ 
    alert(document.getElementById('liste').innerHTML);
});

Bien sûr j'ai rajouté un id='liste' à chaque <li>

Je plante sévère sur mon code...

PEPE

PEPE
Auteur

J'ai un peu avancé dans mon code mais je bloque toujours pour afficher que l'évènement concernant la date cliquée...Sinon j'ai trouvé un code qui liste tous les évènements qui se trouvent dans des <li> :

$('tbody tr td').click(function(){ 
              getAllTags()

            });

            function getAllTags(){
            var arr = new Array();
            arr = document.getElementsByTagName( "LI" );
            for(var i=0; i < arr.length; i++)
            {
                var tagObj = document.getElementsByTagName( "LI" ).item(i);

                        alert("Text:\n" + tagObj.innerHTML); 
                 }
            };

Le problème c'est que j'arrive pas à lier ce tableau avec la date voulue... :(

PEPE

Tu peux aussi stocker les données en JSON, beaucoup plus simple avec jQuery.parseJSON

PEPE
Auteur

Bonsoir jbou,

je ne connais pas json mais est-ce que ça peut m'aider pour récupérer l'évènement dans la balise LI quand je clique sur la date concernée...

Je suis sur un code avec "addEventListener" qui me permet de récupérer les valeurs dans une balise (ex: id ou name ou value).

PEPE