Faire défiler le résultat d'une requête

Faire défiler le résultat d'une requête - PHP - Programmation

Marsh Posté le 26-01-2013 à 13:15:28    

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 :
  1. <div class="block">
  2. <div class="box">
  3. <div class="inbox">
  4. <div align='center'>
  5. <?
  6. // Definition des identifiants de connexion
  7. $DBHOST='xxx'; // Serveur Mysql
  8. $USEBDD='mabdd'; // Base de donnée utilisée
  9. $USER='moi'; // Administrateur de la bdd
  10. $PASSWORD='xxx'; // Mot de passe d'accès à la bdd
  11. // Connexion à MySQL :
  12. $link = mysql_connect($DBHOST,$USER,$PASSWORD);
  13. $db = mysql_select_db($USEBDD,$link);
  14. // Extraction video
  15. $requete='SELECT * from events ORDER BY id desc';
  16. $result=mysql_db_query('mabdd',$requete);
  17. // Affiche resultats
  18. while($voir=mysql_fetch_array($result))
  19. {
  20. echo "
  21. <a href=\"$voir[id]\" target=\"_self\"><img height='100' width='160' src='monsite/upload/".$voir[picture]."'></a>
  22. ";
  23. }
  24. ?>
  25. </div>
  26. </div>
  27. </div>
  28. </div>


 
 
Et voici le code javascript :
 

Code :
  1. <body onLoad="rotate();">
  2. <?php
  3. $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é
  4. $extensions_ok = array ( ".jpg","jpeg",".gif",".png" );
  5. $folder = opendir ($directory_name);
  6. $i = 0;
  7. $photos = array();
  8. while ($file = readdir ($folder))
  9. {
  10. if (in_array(strtolower(substr($file, -4)),$extensions_ok))
  11. $photos[] = $directory_name."/".$file;
  12. }
  13. closedir ($folder);
  14. $count_photos = count ($photos);
  15. ?>
  16. <script type="text/javascript">
  17. var rotate_delay = 4000; // delais en microseconde (4000 = 4 secs)
  18. var current = -1;
  19. var photos = [<?php for($i=0;$i<$count_photos;$i++)
  20. {
  21. echo "\"".$photos[$i]."\"";
  22. if($i!=$count_photos-1) echo ",";
  23. }
  24. ?>];
  25. function next() {
  26. if (current<photos.length - 1)
  27. ++current;
  28. else current = 0;
  29. }
  30. function rotate() {
  31. if(photos.length > 0)
  32. {
  33. next();
  34. document.images.slides.src = photos[current];
  35. window.setTimeout("rotate()", rotate_delay);
  36. }
  37. }
  38. </script>

Reply

Marsh Posté le 26-01-2013 à 13:15:28   

Reply

Marsh Posté le 26-01-2013 à 13:16:30    

En gros, comment fusionner ces deux scripts en un ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed