paramétrage refresh images php avec javascript

dardanelli
Invité n'ayant pas de compte PHPfrance

09 nov. 2009, 01:40

Bonsoir,

Sur ma boutique, je souhaite afficher une sorte de diaporama composé d'une série de 4 logo (4 images sur la page) de marques qui changerait, toutes le x secondes.

J'ai un code qui commande l'affichage des images de logos de manière aléatoire :
<?php
/*
  $Id: manbox.php,v 1.19 2003/06/09 22:17:13 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License

  Module created by Sergyo(SL-Lab.ru)
*/
?>
     <tr align=center>
       <td>
<?php

    $info_box_contents = array();
    $info_box_contents[] = array('text' => 'Nos marques');

    new infoBoxHeadingCSS($info_box_contents, false, false, '', 'infoBoxHeading');

        
    $info_box_contents = array();
    $fullstring = '<table width=100% border=0 cellpadding=0 cellspacing=3><tr>';		
    $row=0;
				$manufacturers_query = tep_db_query("select manufacturers_name, manufacturers_id, manufacturers_image from " . TABLE_MANUFACTURERS . " where manufacturers_image not like '' order by rand()" );
					if (tep_db_num_rows($manufacturers_query) >= '1') {
  						while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {
$row++;
$fullstring .= '<td align=center valign=middle class=smallText>';
$fullstring .= '<a href=' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers['manufacturers_id'] , 'NONSSL', false) . '>';
if ($manufacturers['manufacturers_image']) {
$fullstring .= '<img id="image" src='. DIR_WS_IMAGES . $manufacturers['manufacturers_image'] . ' width=150 height=117 border=0> ';
} else {
$fullstring .= '<a href=' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers['manufacturers_id'], 'NONSSL', false) . '>'. $manufacturers['manufacturers_name'];
}
$fullstring .= '</a>';
$fullstring .= '</td>';
if ((($row / 3) == (double)floor($row / 3))) {
$fullstring .='<tr>';
  }

 }
 
}
$fullstring .= '</td></tr></table>';		
  $info_box_contents = array();
   $info_box_contents[] = array('text' => $fullstring);
//echo $fullstring;
 
   new infoBox($info_box_contents);

?>                 
            </td>
          </tr>[/quote]
J'ai également trouvé un code javascript qui doit en principe, "s'occupe" du rafraichissement d'images.
Dans le head, j'ai rajouté ça:
[quote]<SCRIPT LANGUAGE="JavaScript">
var delay=10 // ici 10 secondes
var img="image"; // ici nom de l'image a recharger
var chem_img ="./images/kidybio/bannieres/";
var src=chem_img+fullstring;
// fonction à appeler dans le onload de BODY
function RefreshIMG() {
  setTimeout("RefreshIMG()",delay*3000);
  document.images[img].src=src+"?a="+Math.random(1);
}

</SCRIPT>
Dans le body, j'ai bien rajouté le onLoad="RefreshIMG()"

Mon problème, c'est que cela ne marche pas dans l'état.
Est-ce que vous auriez des éléments pour résoudre mon problème?

Merci d'avance

Laurent
P.S: j'ai posté le même message dans forum javascript

Petit nouveau ! | 9 Messages

24 nov. 2009, 01:38

Je me permets de relancer ce post dont le sujet:
paramétrage refresh images php avec javascript
était vraiment mal choisi, merci à ceux qui sont venus lire le message malgré un titre si peu attrayant...
Il était tard, il est tard encore ce soir...
Merci d'avance pour vos idées, vos pistes
Bonne soirée,
Laurent

Eléphant du PHP | 61 Messages

24 nov. 2009, 14:30

Bonjour,
pour étre franc c'est désagréable de répondre sachant que tu as posté ailleur,
et que de ce fait j'ignores si on t'a répondu et encore pire ci c'est résolu ... :oops:

Bref pour ma part il me manque des éléments fondamentaux car de la dépend la réponse.
Combien as-tu d'images une vingtaine ou une centaine ?
Peux tu expliquer s'il sagit de changer les images dans les balises générées par
$fullstring .= '<img id="image" src='. DIR_WS_IMAGES . $manufacturers['manufacturers_image'] . ' width=150 height=117 border=0> ';
Si c'est le cas tu as donc plusieurs <IMG avec le même id="image"
il faut donc dans ta boucle un compteur $x=0; AU DEPART et ecrire
$fullstring .= '<img id="image'.$x.'" src='. DIR_WS_IMAGES . $manufacturers['manufacturers_image'] . ' width=150 height=117 border=0> ';
$x=$x+1;
Un sourire pour conclure ;-)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 nov. 2009, 16:09

Modération :
Le multipostage est interdit sur le forum.

Merci de prendre le temps de lire les règlements.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer