Comment afficher des données JSON en PHP

Résolu
juliendefully Messages postés 50 Statut Membre -  
juliendefully Messages postés 50 Statut Membre -
Bonjour,

J'aimerais afficher le contenu d'un fichier JSON sous forme de tableau html en utilisant php. Je vous mets ci-dessous un exemple. J'arrive à afficher les données mais seulement la première alors que le fichier contient plusieurs lignes.

Fichier JSON:
[
{
"id": "154",
"reference": "XXX",
"link": "XXX",
"date": "09/12/2014",
"due_date": "07/01/2015",
"status": "XXX"
},{
"id": "180",
"reference": "XXX",
"link": "XXX",
"date": "03/02/2015",
"due_date": "24/02/2015",
"status": "XXX"
},{
"id": "181",
"reference": "XXX",
"link": "XXX",
"date": "08/02/2015",
"due_date": "13/02/2015",
"status": "XXX"
},{
"id": "185",
"reference": "XXX",
"link": "XXX",
"date": "15/02/2015",
"due_date": "17/03/2015",
"status": "XXX"
}]


Comme je voudrait que ça s'affiche:
154    XXX    XXX    15/02/2015    17/03/2015
180    XXX    XXX    15/02/2015    17/03/2015
181    XXX    XXX    15/02/2015    17/03/2015
185    XXX    XXX    15/02/2015    17/03/2015


Merci de votre aide

3 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Dans l'idéal .. il aurait été bien que tu nous montres le code que tu as essayé d'écrire....

    Dans l'absolu .. voici comment je ferais :

    
    //transforme le Json en ARRAY
    $result = json_decode($tonObjJson,true);
    
    echo "<table>";
    foreach($result  as $R=>$D){
     echo "<tr id='Tr_".$R."'>"; 
     foreach($D as $key=>$Value){
        echo "<td id='Td_".$R."_".$key."'>".$value."</td>";
      }
     echo "</tr>";
    }
    echo "</table>";
    


    NB: Je l'ai écrit de tête... il y a peut être quelques erreurs à corriger.

    Cordialement,
    Jordane
    0
    1. juliendefully Messages postés 50 Statut Membre 13
       
      Bonjour,

      Voici le code que j'ai actuellement:

      <?php
      
      $json = file_get_contents("https://fullymail.com/files/jsonlisttest.json");
      $json = json_decode($json);
      
      
      foreach($json as $id=>$reference) 
          { 
          echo $id.' : '.$reference.'<br>'; 
          } 
           
      ?>


      Et l'erreur qui m'est affichée:
      Catchable fatal error: Object of class stdClass could not be converted to string in /servers/fullymail/exz950/home/files/test.php on line 9
      
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > juliendefully Messages postés 50 Statut Membre
         
        donc avec mon code.. tu verras que ça marche mieux ^^

        Le souci .. c'est qu'il te faut ajouter l'arguement TRUE au json_decode
        pour qu'il soit transformé en ARRAY PHP ....
        $json = json_decode($json,true);
        
        0
    2. juliendefully Messages postés 50 Statut Membre 13
       
      Merci,
      ça marche mais parcontre je n'arrive pas à récupérer les valeurs, voici ce qui m'est affiché :

      0 : Array
      1 : Array
      2 : Array
      3 : Array
      4 : Array
      5 : Array
      6 : Array
      7 : Array
      8 : Array
      9 : Array
      10 : Array
      11 : Array
      12 : Array
      13 : Array
      14 : Array
      15 : Array
      16 : Array
      17 : Array
      18 : Array
      19 : Array
      20 : Array
      21 : Array
      22 : Array
      23 : Array
      24 : Array
      25 : Array


      merci
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > juliendefully Messages postés 50 Statut Membre
         
        avec quel code ?
        Le tient ou le mien ??

        A la limite.. fais donc un
        print_r($json);
        

        Pour savoir ce qu'il contient exactement.
        0