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 :

Retourner un tableau d'objet avec json vers javascript


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 Retourner un tableau d'objet avec json vers javascript
    Bonjour à tous,

    J'utilise ajax pour créer un tableau d'objets.

    Ce tableau est renvoyé à js pour être utilisé dans la fonction success de jquery.

    Je me demandais juste comment je pouvais transformer ce tableau d'objets en json afin de pouvoir l'exploiter en js ?

    J'ai tenté ce code :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public function getList()
          {
            $dispo = array();
              //Requête de type SELECTION
              $q = $this->_db->query('SELECT DATEJ, NUMERO FROM disponibilite');
              while ($donnees = $q->fetch(PDO::FETCH_ASSOC))
              {
                  //crée un tableau contenant des objets de type disponibilite 
                  $dispo[] = new Disponibilites($donnees);
              }
              //renvoie un tableau d'objets de type disponibilite
              //print_r($dispo);
              return json_encode($dispo);
          }

    Le print_r du début de mon tableau est le suivant :

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Array
    (
        [0] => Disponibilites Object
            (
                [_numero:Disponibilites:private] => 1
                [_datej:Disponibilites:private] => 2013-03-01
            )
     
        [1] => Disponibilites Object
            (
                [_numero:Disponibilites:private] => 2
                [_datej:Disponibilites:private] => 2013-03-01
            )
     
        [2] => Disponibilites Object
            (
                [_numero:Disponibilites:private] => 3
                [_datej:Disponibilites:private] => 2013-03-01
            )
     
        [3] => Disponibilites Object
            (
                [_numero:Disponibilites:private] => 4
                [_datej:Disponibilites:private] => 2013-03-01
            )
    J'ai aussi casté en array :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $dispo[] = (array)  new Disponibilites($donnees);

    Ce qui me donne ceci :

    Array
    (
    [0] => Array
    (
    [�Disponibilites�_numero] => 1
    [�Disponibilites�_datej] => 2013-03-01
    )

    [1] => Array
    (
    [�Disponibilites�_numero] => 2
    [�Disponibilites�_datej] => 2013-03-01
    )

    [2] => Array
    (
    [�Disponibilites�_numero] => 3
    [�Disponibilites�_datej] => 2013-03-01
    )
    Je ne comprends pas pourquoi j'ai ces ? sur fond noir ?


    Merci d'avance.

    bee

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 112
    Points
    44 112
    Par défaut
    Bonjour,
    il existe au moins Passez à l'UTF-8 sans manquer une étape, pour le reste il me semble qu'un minimum de recherche devrait faire l’affaire

  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
    Salut,

    Merci pour ta réponse.

    J'ai déjà trouvé ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($dispo as $row)
    {
        $indexedOnly[] = array_values($row);
    }
    print_r($indexedOnly);

    Ce qui me donne ceci :

    Array
    (
        [0] => Array
            (
                [0] => 1
                [1] => 2013-03-01
            )
    
        [1] => Array
            (
                [0] => 2
                [1] => 2013-03-01
            )
    
        [2] => Array
            (
                [0] => 3
                [1] => 2013-03-01
            )
    
        [3] => Array
            (
                [0] => 4
                [1] => 2013-03-01
            )
    Je le transforme en json avec json_decode ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [
    ["1","2013-03-01"],["2","2013-03-01"],["3","2013-03-01"],["4","2013-03-01"],["5","2013-03-01"],["6","2013-03-01"],["7","2013-03-01"],["8","2013-03-01"],["1","2013-03-02"],
    2013-03-20"],["5","2013-03-20"],["6","2013-03-20"],["7","2013-03-20"],["8","2013-03-20"],["1","2013-04-01"],["2","2013-04-01"],["3","2013-04-01"],["4","2013-04-01"],
    ["5","2013-04-29"],["6","2013-04-29"],["7","2013-04-29"],["8","2013-04-29"]
    ]
    Est-ce exploitable en js ?

    bee

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

    Informations forums :
    Inscription : Mai 2010
    Messages : 201
    Points : 150
    Points
    150
    Par défaut
    Le JSON est exploitable en javascript.

    Les ? sont du a une erreur d'encodage des caracteres entre ton serveur et ton navigateur et éventuellement ta base de donnée.

Discussions similaires

  1. Problèmes d'affichage de tableau d'objets avec swing
    Par amine1980 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 04/04/2011, 23h57
  2. tableau d'objet avec index
    Par grinder59 dans le forum C#
    Réponses: 3
    Dernier message: 04/06/2010, 17h26
  3. définir un tableau d'objets avec un nombre d'objets en paramètre
    Par johnny3 dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 20/10/2008, 05h23
  4. Réponses: 9
    Dernier message: 03/12/2007, 18h49
  5. Retourner un tableau d'entier avec une fonction ?
    Par Seb33300 dans le forum C++
    Réponses: 10
    Dernier message: 05/04/2007, 16h25

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