Tableau bidimensionnel du php au javascript

marcAnkhou Messages postés 6 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 15 mai 2008 - 15 mai 2008 à 10:31
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 15 mai 2008 à 16:06
Bonjour à tous, j'aimerai un petit renseignement :

 

<?php echo $gedTable[0][0]; ?>
<select name='tri' onchange='selectTri(this.value,<?php echo $gedTable; ?>);'>
 <option value='0'>Choisissez le Tri</option>";
      <?php 
            for($i=1;$i<=$max;$i++){
                 echo "<option value=".$i.">Index ".$i."</option>";
           }
      ?>
</select>

  

voilà $gedTable est un tableau à deux dimensions, j'aimerai le passe en paramètre dans ma fonction JS et récupérer les valeur de ce tableau mais il me met cette erreur  ;
   
function selectTri(value,gedTable) {
             alert(gedTable[0][0]);
 }
  Il dit que ça a une valeur nulle, ou que ce n'est pas un objet, je suis sous Internet explorer, c'est une obligation je suis en stage.

Donc ma question est comment récupérer les valeurs d'un tableaux bidimensionnel du php au Javascript ? Merci bien

12 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 10:35
Bonjour,

    on ne passe pas de paramètres du php au js.
    le js est créé par le php, envoyé vers le micro cleint, et là, interprété.

    je ne sais pas ce que tu veux faire, mais génère "un array d'array"
          et utilise le nom de celui-ci.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
marcAnkhou Messages postés 6 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 15 mai 2008
15 mai 2008 à 10:44
En fait dans le tableau php j'ai dans la première dimension les noms de bases, et dans a deuxième de dimension les noms de table associées à ces bases.

Je voudrai réutiliser le tableau php dans le javascript, en récupérant la valeur de la combobox, pour sélectionner la table sql de mon tableau à deux dimensions. La table choisie servira comme tri pour ma requete dans ma page principale.

J'aimerai juste dans la fonction 'selectTri(this.value,<?php echo $gedTable; ?>);  passer mon tableau de bases et tables dans le javascript et les réutiliser dans la fonction, vous voyez mieux ?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 12:43
Bonjour,

    je récapépète ?
       on ne passe pas de paramètres du php au js

    >>réutiliser le tableau php
       génère un tableau javascript dans le php

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
marcAnkhou Messages postés 6 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 15 mai 2008
15 mai 2008 à 13:06
Ah ! En fait ce que tu veux dire c'est mon peut passer des valeurs mais pas des variables c'est ça ? 

   Dans mon cas je ne peux pas générer le tableau en javascript, je suis forcé de l'initialiser dans le php, je vais faire autrement je pense.
      Peut être concaténer toutes les valeurs avec un caractère séparateur puis appaser la variable de type string et faire un split derrière
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 13:21
non, non, ce n'est pas ce que je veux dire....

je pense que tu n'as pas encore percuté comment ça se passe
      entre php ( enfin, le serveur )  et javascript ( enfin, le client )

      il y a longtemps que je n'avais pas copié/collé cela :

    javascript et php, sont 2 langages différents,
    ils ne tournent pas sur la même machine
    et surtout, pas en même temps
    javascript se déroule sur la machine client ( le micro quoi )
    php sur le serveur. ( le site chez le FAI quoi )


    le php "génère" du html, javascript ... et l'envoie vers le client,
         il se termine et "n'existe plus" ( si on peut dire )
    l'utilisateur voit une page html/javascript, 
      il cliquera (par exemple) sur un bouton et l'action associée 
         [ javascript ou html ] peut  appeller du code php, 
         peut-être celui qui l'a généré,
         avec un formulaire, ajax, en changeant l'url...
      pour dire que javascript, lui non plus ne passe
      pas de paramètres au php ! il envoie un formulaire ( par
      exemple ) sur le serveur, le langage qui y existe traitera
      ce formulaire ( asp, php, ruby .... )





<hr />
                Cordialement            Bul         [mon Site]     [M'écrire]
0
marcAnkhou Messages postés 6 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 15 mai 2008
15 mai 2008 à 13:33
, <?php echo $idCorb; ?>);" />

Pourtant quand je fais ça,  et qu'après j'utilise la fonction js 
      
      function regrouper(tailleTab,idCorb){
 idMaitreVal = document.getElementById("choix_"+idMaitre).value.split("¤");
 for(var i=0;i<tailleTab;i++){
  if(document.getElementById("choix_"+i).checked){
   iVal = document.getElementById("choix_"+i).value.split("¤");
   resReq = requeteAjax("reqRegroupe.php?idMaitre="+escape(idMaitreVal[1])+"&idCk="+escape(iVal[1]));
  }
 }
 window.location="./verifliq.php?corb="+escape(idCorb)+"&idMaitre="+escape(idMaitreVal[1]);
}

Tu es bien d'accord que je peux réutiliser les variables que j'avais déclarés dans mon php, et ensuite les faire passer dans ma fonction javascript pour les réutiliser.  (Le fonctionnement je savais comment il marchait entre php et js),je pense juste qu'on se comprends mal, ou que je ne suis pas assez clair
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 13:46
bien... si tu as compris,   tu dois pouvoir
   nous montrer la page html générée... et pas le php !
   ( enfin.. UN PETIT EXTRAIT, le nécessaire, tout le
      nécessaire mais pas plus )
<hr />
                Cordialement            Bul         [mon Site]     [M'écrire]
0
marcAnkhou Messages postés 6 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 15 mai 2008
15 mai 2008 à 13:58
Le code que je t'ai montré ne génère pas de html puisque comme tu l'as précisé c'est uns fonction effectuée coté client .

   Ce que j'ai voulu te montrer c'est que dans mon php j'ai deux variables : $id et $idCorb. et que sur mon bouton en cliquant dessus ça envoit ces variables dans la fonction javascript onclick="regrouper(<?php echo $id; ?>, <?php echo $idCorb; ?>);" 

  qui fait un traitement spécifique derrière.
 Les variables php que j'ai passé dans la fonction javascript je peux les réutiliser. Et ma question était donc, est-ce possible de passer un tableau à deux dimensions ? des variables de type texte ou numériques oui, mais un tableau ? :)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 14:11
>>

Le code que je t'ai montré ne génère pas de html
    ah bon ???
    et ça :
        ..<?php echo $id; ?>, <?php echo $idCorb; ?>);....
    ça ne génère pas de html ?

>>Et ma question était donc, est-ce possible de passer un tableau à deux
dimensions ?
>>des variables de type texte ou numériques oui, mais un
tableau ?
    que veux tu que je te dise ?
    disons non.
    mais simplement parce qu'on ne passe pas de paramètres
                      entre le php et le javascript !   pas pour autre chose.

    relis ce que je tente de t'expliquer ( peut-être maladroitement ? )
    tu ne peux pas passer des variables du php au javascript :
       ils ne communiquent absolument pas, ils ne se connaissent pas.
 
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
marcAnkhou Messages postés 6 Date d'inscription jeudi 15 mai 2008 Statut Membre Dernière intervention 15 mai 2008
15 mai 2008 à 14:24
Hm tu viens de m'éclaircir l'esprit ! je vois ce que tu veux me dire :) Même si ce qui est écrit est du php il est interprété et donc dans le paramètre de la fonction JS je passe du html ! lol je sais faire de belles fonctions, mais je ne savais même pas cette différence ! Maintenant que j'ai compris ça, je pense qu'on ne peut pas passer de tableau aussi.

Mais j'ai fait de cette manière, je range dans une variable php tout le tableau concaténé à un caractère séparateur entre chaque résultat puis j'le passe dans la fonction js. Avec un alert j'ai pu récupérer le tout. Plus qu'a découper et reconstruire coté javascript .  Merci de ton aide, tu m'as éclairci l'esprit sur le fonctionnement exact de php html et javascript. Bonne journée à toi, à bientôt
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 16:02
je vais tenté d'être simple...
un php :
<? $a='exemple'; ?><script>alert("<? echo $a;?>");</script>
on est coté php, il génère : <script>alert("exemple");</script>
       et c'est ça qui est envoyé.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 mai 2008 à 16:06
<strike>à toi d'extrapoler pour un tableau, et pour un tableau de tableau</strike>

"EDIT" : je viens seulement de voir ton dernier message...
    il me semble que tu as saisi l'affaire !
    j'eusse plutôt généré un array, mais c'est comme tu préfères
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
Rejoignez-nous