IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Transformer mon tableau php en un tableau js (50% du travail fait)


Sujet :

JavaScript

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Transformer mon tableau php en un tableau js (50% du travail fait)
    Bonjour tout le monde,

    J'ai trouvé ce très beau script dans la faq javascript de dvp.com :

    http://javascript.developpez.com/faq...Php2Javascript

    J'aimerais donc transformer mon tableau php en un tableau javascript.

    Voici comment je construis mon tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $i = 0;
     
    while($tab_cours = mysql_fetch_array($exec_query_cours))
    	{
              $cotes_TH["$i"] = $tab_inscrits_en["NOTE"];//je remplis le tableau
    $i++;
     
    }
    Je passe ensuite le tableau à ma fonction javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    construisTableauJS($cotes_TH, $cotes_TH_js);
    j'ai déclaré au dessus de mon code l'appel à cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     include('Scripts/Transformation_tab_PHP_en_Javascript.php');
    Voici le code PHP de la fonction :

    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
    <?php
     
    function construisTableauJS($tableauPHP, $nomTableauJS){
       echo $nomTableauJS." = new Array();";
       for($i = 0; $i < count($tableauPHP); $i++){
          if(!is_array($tableauPHP[$i])){
             echo $nomTableauJS."[".$i."] = '".$tableauPHP[$i]."';";
          }
          else{
             construisTableauJS($tableauPHP[$i], $nomTableauJS."[".$i."]");
          }
       }
       return;
    }
     
    ?>
    L'echo me montre bien le tableau :

    new Array();[0] = '0';[1] = '0';[2] = '0';[3] = '0';[4] = '0';[5] = '0';[6] = '0';
    Mais quand j'essaie de travailler sur mon tableau js, j'ai droit à un "undefined" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function calculs(tableau)
    {
    	alert(tableau);
    Sauriez-vous me dire comment je peux faire s.v.p. ?

    Merci d'avance.

    beegees

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    il te faut nommé ton tableau :

    var monTableau = new Array();

    puis pour assigner tes valeurs :

    monTableau.push(tavaleur) ...
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  3. #3
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonjour le_chomeur et merci pour ta réponse.

    Citation Envoyé par le_chomeur Voir le message
    il te faut nommé ton tableau :

    var monTableau = new Array();
    OK je l'ai fait :

    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
    <?php
    function construisTableauJS($tableauPHP, $nomTableauJS)
    {
       echo $tab_cotes_TH_js." = new Array();";
       for($i = 0; $i < count($tableauPHP); $i++)
       {
          if(!is_array($tableauPHP[$i]))
              {
             echo $tab_cotes_TH_js."[".$i."] = '".$tableauPHP[$i]."';";
              }
       }
       return;
    }
     
    ?>
    Je ne comprends pas pourquoi on doit passer deux tableaux ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function construisTableauJS($tableauPHP, $nomTableauJS)

    puis pour assigner tes valeurs :

    monTableau.push(tavaleur) ...
    Ceci ne suffit pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
             echo $tab_cotes_TH_js."[".$i."] = '".$tableauPHP[$i]."';";
    Où dois-je exactement mettre le push ? dans quelle page ?

    Merci encore pour ton aide.

    beegees

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $nomtableaujs."push($tableauPHP[$i]);";
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $nomtableaujs."push($tableauPHP[$i]);";
    Merci pour ta réponse.

    Le résultat obtenu avec ta ligne de code est le suivant :

    = new Array();push(0);push(0);push(0);push(0);push(0);push(0);push(0);
    Quand j'appelle ma fonction javascript dans du code HTML:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <script language="javascript">
    	calculs(tab_cotes_TH_js);
    </script>
    Il arrive bien dedans mais j'obtiens "undefined" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function calculs(tableau)
    {
    	alert(tableau);
    Qu'en penses-tu ?

    Encore merci
    beegees

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Points : 4 835
    Points
    4 835
    Par défaut
    Beegees ! réfléchis ( comme d'hab tu nous fais la même erreur )

    plus haut je te donne la bonne syntax :

    en JAVASCRIPT :

    tableauJS.push(tavaleur);

    toi au final tu as :

    push(tavaleur);

    rien qui te choque ? ;-)
    est ton ami fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes

    Premier ministre du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )

Discussions similaires

  1. Réponses: 5
    Dernier message: 14/09/2008, 23h14
  2. [PHP-JS] convertir tableau php en tableau javascript
    Par stecale dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/11/2006, 17h09
  3. [PHP-JS] Transferer tableau php a javascript
    Par stephane92400 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 12/07/2006, 14h05
  4. [PHP-JS] Remplir un tableau javascript selon un tableau php
    Par jerome38000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/01/2005, 14h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo