insertion du javascript dans PHP (et tableau)
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) :
Code:
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> |
et voici le code de ma fonction changeimages() (javascript) :
Code:
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 faisant
Code:
echo "<script type='text/javascript' src='script_grandvoinet.js'>";
et 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 !
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