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 :

Faire défiler image


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 73
    Par défaut Faire défiler image
    Bonjour,

    J'ai fait un script php pour afficher des images. ça marche sauf que les images apparaissent tous en une fois. Je voudrais que les images apparaissent un par un (avec 3 secondes d'intervalle). Je sais que je dois y intégrer du javascript mais je ne sais pas comment faire. Voici mon code :

    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
    <div class="block"> 
    <div class="box"> 
    <div class="inbox"> 
     
    <div align='center'>
    <?
    // Definition des identifiants de connexion
    $DBHOST='xxx'; // Serveur Mysql
    $USEBDD='mabdd'; // Base de donnée utilisée
    $USER='moi'; // Administrateur de la bdd
    $PASSWORD='xxx'; // Mot de passe d'accès à la bdd
     
    // Connexion à MySQL :
    $link = mysql_connect($DBHOST,$USER,$PASSWORD);
    $db = mysql_select_db($USEBDD,$link);
     
    // Extraction video
     
    $requete='SELECT * from events ORDER BY id desc';
    $result=mysql_db_query('mabdd',$requete);
     
    // Affiche resultats
    while($voir=mysql_fetch_array($result))
    {
    echo "
    <a href=\"$voir[id]\" target=\"_self\"><img height='100' width='160' src='monsite/upload/".$voir[picture]."'></a>
    ";
    }
    ?>
    </div>
    </div>
    </div>
    </div>

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonsoir,
    (avec 3 secondes d'intervalle)
    tout est dans ces mots et il existe donc les méthodes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var delay = 3000;// exprimé en millisecondes
    var iTimer = setInterval( function(){}, delay);
    //ou encore
    var iTimer = setTimeout( function(){}, delay);
    cela s'appelle un diaporama pour le mot clef.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 73
    Par défaut
    Merci mais ça ne m'aide pas.

    J'ai déjà un script de défilement, mais je n'arrive justement pas à le FUSIONNER avec mon script php.

    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
    <body onLoad="rotate();">
    <?php
    $directory_name = "agenda/upload/"; // sur ce script, je fais défiler un dossier, pas le résultat d'une requête php et c'est justement là ma difficulté
    $extensions_ok = array ( ".jpg","jpeg",".gif",".png");
    $folder = opendir ($directory_name);
    $i = 0;
    $photos = array();
    while ($file = readdir ($folder))
    {
    if (in_array(strtolower(substr($file, -4)),$extensions_ok))
    $photos[] = $directory_name."/".$file;
    }
    closedir ($folder);
    $count_photos = count ($photos);
    ?>
    <script type="text/javascript">
    var rotate_delay = 4000; // delais en microseconde (4000 = 4 secs)
    var current = -1;
    var photos = [<?php for($i=0;$i<$count_photos;$i++)
    {
    echo "\"".$photos[$i]."\"";
    if($i!=$count_photos-1) echo ",";
    }
    ?>];
    function next() {
    if (current<photos.length - 1)
    ++current;
    else current = 0;
    }
    function rotate() {
    if(photos.length > 0)
    {
    next();
    document.images.slides.src = photos[current];
    window.setTimeout("rotate()", rotate_delay);
    }
    }
    </script>

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    , mais quoiqu'il arrive, donnes nous le code HTML généré et non le PHP, si le problème est un problème PHP, il existe un super Forum

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 73
    Par défaut
    Le code html généré change à chaque fois, il évolue en fonction du résultat de la requête php. Mes internautes postent des photos, et le code php génère un code html qui change en fonction des noms des photos (je ne saisis rien manuellement). J'avais déjà placé ce sujet dans le forum php, mais un modérateur l'a déplacé ici.

  6. #6
    Membre chevronné Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 341
    Par défaut
    Je découvre le javascript et je ne savais pas qu'on pouvait mettre du PHP dedans, comme ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var photos = [<?php for($i=0;$i<$count_photos;$i++)
    {
    echo "\"".$photos[$i]."\"";
    if($i!=$count_photos-1) echo ",";
    }
    ?>];
    Ce sont les crochets devant et derrière les balises PHP qui le permettent ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/09/2012, 00h31
  2. [Prototype] Faire défiler image et texte
    Par Paulux1 dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 12/12/2010, 19h27
  3. faire défiler image dans picture box
    Par cd090580 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 13/02/2007, 16h00
  4. [PHP-JS] Comment faire défiler des images en php ?
    Par innova dans le forum Langage
    Réponses: 4
    Dernier message: 19/11/2006, 12h09
  5. Comment faire défiler une image dans un DBImage
    Par kolac dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/04/2006, 13h45

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