spespam | 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 :
- <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>
|
Et voici le code javascript :
Code :
- <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>
|
|