Rechercher : dans
Par :

Insertion javascript dans PHP et inversement

Dernière réponse le 24 oct 2006 à 10:56:57 law, le 23 oct 2006 à 14:34:36 
 Signaler ce message aux modérateurs

Bonjour, mon problème est le suivant
j'ai besoin de récupérer dans un tableau déclaré dans javascript les valeurs obtenues après une requête PHP/ SQL, je m'explique :
apres la requête PHP/SQL, j'obtiens un tableau avec le nom de différentes images $img1 est ce tableau :
<? $img1 = les valeurs correspondantes ; ?>

ensuite j'aimerais récupérer toutes ses valeurs dans un tableau sous javascript
j'ai essayé de cette manière

<script language='javascript'>
var Pic = new array[];
for(i=0;i<<? echo sizeof($img1); ?>;i++){
Pic[i]="images/<? echo $img1["+i+"] ?>";
}
</script>

mais ça ne fonctionne pas, il affiche juste "images"

ensuite j'ai essayé de le faire dans le php
<?
for($i=0;$i<sizeof($img1);$i++){
echo "<script language=javascript>";
echo "Pic[".$i."]=images/".$img1[$i];
echo "</script>";
}
?>

et c'est encore le meme problème je n'arrive pas à concaténer l'indice i

Si quelqu'un aurait une solution, merci d'avance

Meilleures réponses pour « Insertion javascript dans PHP et inversement » dans :
Sed - Insérer un espace entre chaque lettre VoirInsérer un espace entre chaque lettre $ echo -e "bonjour la vie\net bonjour à toi" | sed 's/./& /g' b o n j o u r l a v i e e t b o n j o u r à t o iL'inconvénient c'est que l'espace naturel entre chaque mot est doublé. Pour pallier à...
Télécharger PSPad VoirPSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS, Javascript, php ou autres langages de programmation (C++, Java, Python...). Les fonctionnalités sont impressionnantes: ...
Javascript - Implantation du code VoirA quel emplacement insérer le Javascript dans votre page HTML Il existe plusieurs façons d'inclure du JavaScript dans une page HTML : Grâce à la balise En mettant le code dans un fichier Grâce aux événements Dans la balise...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...
Gestion des images en HTML VoirComment afficher des images sur une page web? Quelques images sur un site Web peuvent le rendre plus attractif et plus convivial, cependant il est important de ne pas sombrer dans l'excès car les images peuvent impliquer un temps de chargement...

1

kij_82, le 23 oct 2006 à 17:07:09

J'ai une solution pour toi, qui consiste à faire de l'AJAX en utilisant les objets XMLHttpRequest de javascript.

Explications :

Tu créé une fonction javascript qui va initialiser un objet XMLHttpRequest. Cet objet là, va appelé ton script PHP, dans lequel tu effectue ta requete SQL sur ta base de donnée, puis dans lequel tu écrit ta String de réponse (tu comprendra mieux en ayant lu le lien que je vais te donner à la fin).
Lorsque ton script PHP est terminé, dans ta fonction javascript appellante, l'objet XMLHttpRequest va récupérer tout ce qui a été afficher dans ton script PHP pour éventuellement l'interpréter si tu le demande. C'est là que c'est intéressant pour toi, car tu vas pouvoir écrire du code javascript sous forme de chaine dans ton script PHP (initialiser donc ta variable javascript de ton tableau d'image avec ta requète) et ce code sera interpréter au retour (fin de script php)

Ta chaine ressemblera donc à un truc du genre :

$taille = @myslq_num_row($result);
$ma_chaine = "var tab = new Array[];
   tab.length = ".$taille."; ";
$i = 0;
while ( $line = @mysql_fetch_array($result) ){
   $ma_chaine .= "tab[".$i."] = ".$line["image"].";  ";
}

echo $ma_chaine


Voila en gros la construction de ta réponse de retour de ton script pour que ca te créé une variable tableau contenant tes images. Ca fait longtemps que j'ai pas touché au JS donc la déclaration du tableau c'est peut etre pas ca, mais l'idée est là.


Maintenant pour comprendre les objets XMLHttpRequest et leur puissance (c'est vraiment tres utile !), regarde ici :
http://openweb.eu.org/articles/objet_xmlhttprequest/

Bon courage :), et si tu as besoin d'un exemple concret, bip moi : kij_82@hotmail.fr

~ iclic @ gauch,iclic, iclic @ droate, iclic, iclic
et ya pas de bôg môsieu ! ~

Répondre à kij_82

2

law, le 23 oct 2006 à 23:54:18

Merci pour ton aide,
j'ai trouvé une autre solution, j'ai transformé mon tableau php en chaine, j'ai passé cette chaine dans une variable javascript et j'ai retransformé en tableau :)

par contre est ce que tu saurais comment résoudre cela :
voila j'aimerais sous php lui faire comprendre que : $fiche->question.$i en l'utilisant dans une boucle soit $fiche->question1, $fiche->question2 etc
mais il ne l'interprete pas comme ça, je sais pas si c possible de concaténer,
j'ai essaye en transformant en une chaine ne faisant $question="$"."fiche->question".$i; il m'affichait bien $fiche->question1 mais comme c un string il ne peut plus l'interpreter comme une variable, est ce kil faut peut etre changer ensuite le type de la variable,

merci d'avance si tu vois comment je peux faire

Répondre à law

3

 Reivax962, le 24 oct 2006 à 10:56:57

Bonjour,

Essaie quelque chose de ce genre :

for (int $i=0;$i<10;$i++)
{
    echo $fiche->{"question".$i};
}
Il me semble que ça devrait donner le résultat souhaité.

Xavier

Répondre à Reivax962
Collection CommentÇaMarche.net