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

Langage PHP Discussion :

Alimenter tableau JSON depuis PHP


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Alimenter tableau JSON depuis PHP
    Bonsoir,

    J'essaie en vain d'alimenter un tableau JSON à partir de fichier PHP mais cela ne fonctionne pas.

    En effet dans l'exemple ci dessous je tente d'alimenter un tableau JSON à partir du résutat d'une requête de type SELECT vers ma base de données.

    Voici ce que cela donne :

    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
     
    $reqCentreInteret = $db->prepare("SELECT TCI_ID, TCI_LIBELLE FROM OSO_DEV.T_CENTRE_INTERET ");
    $reqCentreInteret->execute();
    $row = $reqCentreInteret->fetch(PDO::FETCH_OBJ);
     
    $arr = '[]';
     
    $arr = json_decode($arr, TRUE);
    while($row){
       $arr[] = ['id' => '8', 'name' => 'mickey'];
        $toto = "'".$test."'";
        $row = $reqCentreInteret->fetch(PDO::FETCH_OBJ);
        $json = json_encode($arr);
    }  
     
    echo $json;
    Ainsi pour chaque passage dans les résultat de mon SELECT je tente d'insérer les valeurs de ma colonne TCI_LIBELLE vers l'attribut name d'un tableau JSON.

    Hors cela ne fonctionne pas, cela fonctionne quand la valeur est écrite en dur dans mon expression (comme dans l'exemple avec 'mickey'), cependant ça ne fonctionne pas quand j'essaie de concaténer une variable en php dans mon expression, comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $arr[] = ['id' => '8', 'name' => $row->TCI_LIBELE'];
    Que faire pour que ma concaténation fonctionne ?

    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    pense et fais simple :
    - pas besoin de préparer le sql car tu ne lui passes aucune valeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $stmt = $db->query("SELECT TCI_ID AS id, TCI_LIBELLE AS nom FROM OSO_DEV.T_CENTRE_INTERET");
    echo json_encode($stmt->fetchAll(PDO::FECTH_ASSOC));

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup ça marche du tonnerre !
    J'ai ajouté un paramètre à la méthode json_encode pour prendre en compte les caractères spéciaux, ce qui donne au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $stmt = $db->query("SELECT TCI_ID AS id, TCI_LIBELLE AS nom FROM OSO_DEV.T_CENTRE_INTERET");
    echo json_encode($stmt->fetchAll(PDO:: FETCH_ASSOC),JSON_UNESCAPED_UNICODE);
    Merci beaucoup pour ton aide

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 20/02/2016, 00h57
  2. Tableau Json depuis Ajax
    Par retwas dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/02/2013, 13h40
  3. [Web Service] envoyer du JSON depuis PHP
    Par enzostar dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 26/03/2010, 16h54
  4. Récupérer des data depuis php en JSON
    Par jiriki.net dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 04/11/2009, 22h48
  5. Réponses: 5
    Dernier message: 14/09/2008, 23h14

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