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 :

Récupérer tableau php


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 65
    Points : 51
    Points
    51
    Par défaut Récupérer tableau php
    Bonjour,
    Je sais qu'il existe différents topics a ce sujet sur internet. Mais je n'est pas réussi a résoudre mon probleme..
    Voila je m'expliquer, je récupére un tableau multidimensionnel en php qui est rempli de ce style la..
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $coordonnees[$i]['id'] =  $i;
    $coordonnees[$i]['lat'] =  $lat;
    $coordonnees[$i]['lng'] = $lng;

    Mon objectifs est donc de réussir a le transférer en javascript, voici ma technique:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    echo "<script type='text/javascript'>";
    echo "var tab = new Array();";
    echo "var tab[0] = new Array(); ";
    $i = 0;
    while ($tableau = $tab->fetch()) {
        echo "tab[$i]['id'] = $tableau[$i]['id'] ;\n";
        echo "tab[$i]['lat'] = $tableau[$i]['lat'] ;\n";
        echo "tab[$i]['lng'] = $tableau[$i]['lng'] ;\n";
        $i++;
    }
    echo "</script>";

    L'erreur est que tab is not defined...

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 202
    Points : 164
    Points
    164
    Par défaut
    bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ?>
    <script type="text/javascript">
    	var monTableauJS = JSON.parse(<?php echo json_encode(monTableauPHP); ?>);
    </script>
    <?php

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code code 1 : Sélectionner tout - Visualiser dans une fenêtre à part
    $coordonnees[$i]['id'] =  $i;
    Code code 2 : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "tab[$i]['id'] = $tableau[$i]['id'] ;\n";
    L'erreur est que tab is not defined...
    Effectivement, on se demande pourquoi...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 65
    Points : 51
    Points
    51
    Par défaut
    Je me suis mal exprimer, mon tableau en php est initialiser dans une fonction et je le recupere dans ma variable tab c'est pour sa que ce n'est pas $coordonne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var monTableauJS = JSON.parse(<?php echo json_encode($tab); ?>);
    monTableauJS me met undefined

    Cependant ceci marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var  resultat = <?php echo json_encode($tab); ?>;
    alert(resultat[2].lat);

  6. #6
    Membre émérite
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Points : 2 778
    Points
    2 778
    Par défaut
    normal ... tu y es presque

    Qu'est-ce que retourne <?php echo json_encode($tab); ?> ?
    Un truc du genre : {"a":1,"b":2,"c":3,"d":4,"e":5}
    Relis bien les exemples de JSON.parse

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 65
    Points : 51
    Points
    51
    Par défaut
    Une partie de la chaine retourner : {"id":0,"lat":"48.8928","lng":"2.39123"}Je ne vois pas pourquoi ceci ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var  resultat = <?php echo json_encode($tab); ?>;
    var tab = JSON.parse(resultat);
    alert(tab[0].id);

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    resultat doit être un string => il manque les quotes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     var  resultat ="<?php echo json_encode($tab); ?>";
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Parce que tab n'est pas un tableau mais un objet ! Il ne possède donc pas de rang 0.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var  resultat = <?php echo json_encode($tab); ?>;
    var tab = JSON.parse(resultat);
    alert(tab.id);
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    après avoir rajouté les quotes Beef
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 65
    Points : 51
    Points
    51
    Par défaut
    Parfait ca marche.
    Ma solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var  resultat = '<?php echo json_encode($tab); ?>';
    var tabJS = JSON.parse(resultat);     
    for (var i=0; i<=tabJS.length; i++) {
        alert(tabJS[i].lat);
    }

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 202
    Points : 164
    Points
    164
    Par défaut
    Oups!! J'avais effectivement oublié les quotes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] Récupérer mon tableau PHP en JavaScript
    Par yohann26 dans le forum Langage
    Réponses: 7
    Dernier message: 21/11/2011, 18h21
  2. Récupérer tableau php vers javascript
    Par Paulo62 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/07/2011, 11h23
  3. Récupérer tableau php->javascript <select>
    Par Borowsky dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/06/2008, 16h33
  4. [MySQL] Récupérer les données sous forme de tableau PHP MySQL
    Par brajae85 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 16/05/2008, 17h11
  5. récupérer un tableau PHP dans une fonction javascript
    Par aztec dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 13/05/2007, 22h11

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