passage d'un tableau php parametre à une fonction javascript

passage d'un tableau php parametre à une fonction javascript - PHP - Programmation

Marsh Posté le 31-03-2004 à 09:58:49    


Bonjour tout le monde,
 
Je suis étudiant et actuellement en stage, je suis en train de créer un site en php en intranet et j'ai un gros soucis depuis quelque temps.
 
Je crée un tableau en php avec des données provenant d'une bd mysql et j'ai absolument besoin d'envoyer ce tableau en parametre à une fonction javascript. le problème c'est que je sais envoyer un seul élément mais je ne sais pas envoyer tout le tableau entier.  Je ne comprends pas
 
Je suppose que pour envoyer un tableau, il suffit de donner son nom???
 
Je suis perdu.
 
Merci pour vos réponse
 
 
source
 
 bouton qui permet d'envoyer mon tableau à la fonction javascript
 
<input type="button" value="save" name="save" id="save" onclick="saveDonnees(<?$data?> )">
 
  fonction javascript
 
  function saveDonnees(donnees)
         {
         alert(donnees(1));
         }  
 

Reply

Marsh Posté le 31-03-2004 à 09:58:49   

Reply

Marsh Posté le 31-03-2004 à 11:04:44    

Salut,
 
peut-être une solution ... convertis ton array en string (avec un délimiteur) ... tu passe le string en argument et tu fais le chemin à l'envers  
 
a+
 
z

Reply

Marsh Posté le 31-03-2004 à 11:09:53    

implode() ds ton php
 
--> tu passes le string
 
split() ds ton js
 
--> tu reccupere ton array

Reply

Marsh Posté le 31-03-2004 à 11:13:37    

J'ai déja essayé.
 
Quand je convertis mon tableau en string avec une virgule comme délimiteur et que je le passe en parametre, il ne me donne que le premier élément du tableau et pas une chaine de caractères.
 
Par contre implode, je ne connais pas
je vais esayer

Reply

Marsh Posté le 31-03-2004 à 11:32:22    

J'arrive à tranformer mon tableau en String mais quand la foncton javascript reçoit ma chaine en parametre, et que j'essaie de l'afficher directement, elle me dit undefined
au lieu d'afficher la string
 
???????

Reply

Marsh Posté le 31-03-2004 à 11:39:41    

comment tu reccuperes ta chaine?
 
$_GET['tavar'] ?

Reply

Marsh Posté le 31-03-2004 à 11:52:16    

CODE PHP  
 
 $array = array('nom', 'email', 'telephone');
  $comma_separated = implode(",", $array);
 
<input type="button" value="save" name="save" id="save" onclick="saveDonnees(<?echo $comma_separated?> )">
 
 
CODE JAVASCRIPT
 
  function saveDonnees(test)
         {
  var temp= test.split("," );
         alert('' + temp);
         }

Reply

Marsh Posté le 31-03-2004 à 11:53:55    

Exemple :

<?php
 
$data[0] = 'toto';
$data[1] = 'tata';
$data[2] = 'titi';
 
?>
 
<html>
<script>
 
<?php
echo( "var tableauFromPHP = new Array();\n" );
for( $i = 0; $i < count( $data ); $i++ )
{
 echo( "tableauFromPHP[$i] = '{$data[$i]}';\n" );
}
?>
 
function saveDonnees( donnees )
{
 alert( donnees[0] + ' - ' + donnees[1] );
}  
 
</script>
 
<form>
<input type="button" value="save" name="save" id="save" onclick="saveDonnees( tableauFromPHP )">
</form>
</html>


 
Démo : http://www.surleau.com/test/php2js.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 31-03-2004 à 12:04:29    

quelque erreur de syntax ...  

Code :
  1. <html>
  2. <head>
  3. <title></title>
  4. <script language="JavaScript">
  5. function saveDonnees(chaine){
  6. var temp=chaine.split("|" );
  7. alert('' + temp);
  8. }
  9. </script>
  10. </head>
  11. <body>
  12. <?php
  13. $array = array('nom', 'email', 'telephone');
  14. $comma_separated = implode('|', $array);
  15. ?>
  16. <input type="button" value="save" onclick="saveDonnees(<?php echo '\'' . $comma_separated . '\''; ?> );">
  17. </body>
  18. </html>

Reply

Marsh Posté le 31-03-2004 à 12:06:13    

Mara's dad bien ton truc :)

Reply

Marsh Posté le 31-03-2004 à 12:06:13   

Reply

Marsh Posté le 31-03-2004 à 12:08:25    

zbang a écrit :

Mara's dad bien ton truc :)


Ben oui, on génère dynamiquement du HTML alors pourquoi pas générer dynamiquement du JS :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 31-03-2004 à 12:16:49    

Merci mais j'ai besoin d'une petite explication :  
 
Je ne comprends pas pq il faut mettre des \ devant mon parametre????
 
 
<input type="button" value="save" onclick="saveDonnees(<?php echo '\'' . $comma_separated . '\''; ?> );">

Reply

Marsh Posté le 31-03-2004 à 12:22:35    

pour echaper la quote
 
tu peux aussi l'ecrire comme ça:
 
<?php echo "'" . $comma_separated . "'"; ?>

Reply

Marsh Posté le 31-03-2004 à 12:27:29    

il faut mettre ces ' car c'est un tableau de string????

Reply

Marsh Posté le 31-03-2004 à 12:28:11    

oups, j'avasi oublié que je passais une chaine de caractère et plus un tableau
 
merci beaucoup pour vos explications
 

Reply

Sujets relatifs:

Leave a Replay

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