Partage
  • Partager sur Facebook
  • Partager sur Twitter

diaporama image

Anonyme
    2 novembre 2010 à 22:01:25

    bonjour,

    je souhaite créer un diaporama image mais je ne sais pas comment m'y prendre.
    j'ai donc fait plusieurs recherches afin d'essayer de faire ce que je souhaite, mais sans succès.

    Ci-dessous le visuel de ce que je voudrais obtenir:
    Image utilisateur

    1987 --> zone pour sélectionner une année

    01/01/1987 --> zone pour sélectionner une journée de l'année choisie.

    par défaut, il faudrait que l'image de la premiere journée de la premiere annee s'affiche.
    puis possibilité de passer à l'image suivante ou précédente en cliquant sur les fleches.

    je pensais à un systeme de dossiers:

    dans un dossiers "images", il y aurait un dossier pour chaque année.

    mais je ne sais pas comment mettre tout ca en place. si quelqu un peut m'aider.

    merci d'avance!
    • Partager sur Facebook
    • Partager sur Twitter
      3 novembre 2010 à 0:25:27

      Oula, ça c'est du diaporama complexe :D .

      Pour les images, t'as moyens sinon de faire un dossier avec toute tes images mais de les nommer correctement : 01011987.jpg

      Les listes déroulantes, tu peux les lister via Php en vérifiant qu'à chaque année il existe des images (voir pour chaque jour).
      Ensuite pour les deux listes, tu fais la première normalement, la deuxième tu peux faire un système de caché / affiché, à chaque année sélectionné tu en affiche la liste correspondante.

      Pour le diaporama, tu récupère la dernière <option> de la liste de l'année actuel, et tu l'affiche.
      Pour la sélection, lorsque tu sélectionne une date, tu change la source de l'image par rapport à la date.
      Pour les flèches, ça se corse un peu, notamment sur le problème de si l'image existe, et de si le mois à 30 ou 31 jours :) . Une des méthodes, serrait de récupérer la liste déroulante crée en Php correspondante à l'image actuel, de compter le nombre d'<option>, et de récupérer -1 ou +1 l'option, et si on est à la fin ou au début passe à l'année d'avant / après.

      Conclusion il y a pas mal de boulot la dessous :-° .
      Rien de vraiment impossible, mais faut s'y connaître un peu, et bien s'organiser ;) .
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        3 novembre 2010 à 22:00:42

        Citation : lieo

        Les listes déroulantes, tu peux les lister via Php en vérifiant qu'à chaque année il existe des images (voir pour chaque jour).
        Ensuite pour les deux listes, tu fais la première normalement, la deuxième tu faire un système de caché / affiché, à chaque année sélectionné tu en affiche la liste correspondante.


        Ok, mais comment faire ça, sachant que j'opterais plutôt pour un dossier par année, dans un souci de clarté? Par ailleurs, j'aimerais éviter les bases mysql...

        Citation : lieo

        Pour le diaporama, tu récupère la dernière <option> de la liste de l'année actuel, et tu l'affiche.
        Pour la sélection, lorsque tu sélectionne une date, tu change la source de l'image par rapport à la date.


        Comment récupérer l' <option> sélectionnée?
        • Partager sur Facebook
        • Partager sur Twitter
          4 novembre 2010 à 9:50:53

          Pour la première question, toute est une histoire de lecture de dossier et de boucle, tu va ouvrir pour X nombres d'années, chaque dossier, le lister et l'afficher en conséquence.

          Pour récupérer l'<option> t'as le DOM (document object model) qui sert justement à ça, par exemple :
          document.getElementById("2010").lastChild.value;
          La encore si tu sais pas utiliser le Javascript tu va avoir du mal ^^ .
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            4 novembre 2010 à 14:18:26

            J'ai commencer à créer le formulaire (dates classées par ordre chronologique):

            <form action="">
            <p>
            <select name="select_year">
            <?php
            $dir = opendir("./images/Archives");
            while($file = readdir($dir)){
            if(!in_array($file,array(".",".."))){
            $files_array[] = $file;
            }
            }
            sort($files_array);
            foreach($files_array as $file)
            {
            echo"<option value=\".$file\" selected>$file</option>\n"; 
            }
            ?>
            </select>
            </p>
            </form>
            


            ce qui donne comme résultat : http://www.grimmy-fr.comze.com/test.php

            mais deux problèmes :
            * un mineur : pour le dossier "1900", j'aimerais que ça apparaisse en tant que "NEW";
            * un majeur : je n'arrive pas à créer la 2me liste pour choisir les dates en fonction de l'année.
            • Partager sur Facebook
            • Partager sur Twitter
              4 novembre 2010 à 15:54:55

              Ce que tu dois avoir comme résultat c'est quelque chose comme ça une fois traité :

              <select id="years" onchange="selectYears(this)">
              <option value="1980">1980</option>
              <option value="1981">1981</option>
              </select>
              
              <select id="1980" onchange="diapoChange(this)" style="display:none;">
              <option checked="">Janvier</option>
              <option value="0101">01</option>
              <option value="0201">02</option>
              ...
              <option checked="">Février</option>
              <option value="0102">01</option>
              <option value="0202">02</option>
              </select>
              


              Pour que le dossier 1900 apparaisse new, tu liste les dossiers via la boucle et le dernier tu l'affiche comme new (d'ailleurs il te liste bien les dossiers dans l'ordre ? ça fait un bail que j'ai pas touché à la manipulation de dossier/fichier).

              Pour la deuxième liste tu devra rentrer dans chaque dossier et boucler celui-ci, donc tu auras deux boucles en soit, celle des dossiers à la racine avec les années, et à l'intérieur de chaque dossier. Pour les séparer plus facilement tu peux stocker les noms directement dans des tableaux.

              Voilou en espérant avoir pu t'éclairer, hésite pas à poser des questions :) .
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                5 novembre 2010 à 8:26:36

                petite question: sachant que j'ai un grand nombre d'images (+ de 1000, et ça devrait continuer à augmenter), ai-je intérêt à les enregistrer dans un fichier javascript ou plutôt à créer une base mysql?
                • Partager sur Facebook
                • Partager sur Twitter

                diaporama image

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown