Bonjour,
J’essaie d'exécuter un code javascript en passant déclarant un tableau javascript par du php car à terme je souhaite récupérer le contenu d'un répertoire images/diaporama (en php), le mettre dans un tableau php.
Et transformer ce tableau PHP en Tableau javascript pour que ma fonction javascript changeimages() mis sur le onload du body de ma page html affiche en boucle le contenu de mon répertoire images/diaporama.
J'ai testé ma fonction javascript en mettant en dur le chemin de chaque image de mon diaporama et il fonctionne bien.
Mais comme le contenu de ce répertoire est voué à changer régulièrement, je veux récupérer le contenu dans un tableau php (transmis ensuite dans le tableau javascript appelé par ma fonction changeimages()).
J'ai trouvé un modèle de code sur développez.net que j'ai réadapté, mais ça ne fonctionne pas, alors vous, plus expérimentés que moi (débutante et PHP et javascript), j'aurai besoin d'un petit coup de main.
Voici le code de mon fichier index.php (qui affiche normalement le diaporama) :
et voici le code de ma fonction changeimages() (javascript) :
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 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <head> <title>Grandvoinet Frédéric - Couvreur Zingueur</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <?php $monTableauPHP = array("images/diaporama/1.jpg", "images/diaporama/2.jpg","images/diaporama/3.jpg"); function construisTableauJS($tableauPHP, $nomTableauJS){ echo "var ".$nomTableauJS." = new Array();" ; for($i = 0; $i < count($tableauPHP); $i++){ echo $nomTableauJS."[".$i."] = '".$tableauPHP[$i]."';"; } return; } ?> <script type="text/javascript" src="script_grandvoinet.js"> <?php echo construisTableauJS($monTableauPHP, "monTableauJS");?> </script> </head> <body onLoad="changeimages()"> <img id="ima" name="ima" src="" alt="" /><noscript><a href="#">ajax</a></noscript> </body> </html>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 var cpt=0; function changeimages() { document.getElementById("ima").src=monTableauJS[cpt]; cpt++; if(cpt>=monTableauJS.length) cpt=0; setTimeout("changeimages()",3000); }
Quand ma page index.php s'affiche, ça met un carré avec une croix dedans comme s'il n'y avait pas d'image à afficher alors que les images sont bien au bon endroit.
J'ai testé le resultat renvoyé par ma fonction php construisTableauJS(). Et c'est correct.
J'ai aussi mis la balise <script> dans la balise PHP en faisantet en mettant tout le corps de ma fonction javascript (avec des echo php) dans la balise script directement, mais j'aboutie au même résultat !
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo "<script type='text/javascript' src='script_grandvoinet.js'>";
Quelqu'un aurait une idée pourquoi mes images ne s'affiche pas ?
Ai-je utilisé la bon syntaxe ?
Je vous remercie d'avance.
boubou_s
Partager