Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Print JSON output into table - PHP

Tags:

json

php

I need to print JSON output in the table

{
  "response_code":200,
  "pnr":"6642876935",
  "train_num":"12792",
  "train_name":"PNBE SC EXP",
  "doj":" 6- 7-2015",
  "from_station":
       {
         "code":"PNBE"
       },
  "to_station":
      {
         "code":"SC"
      },
  "reservation_upto":
      {
         "code":"SC"
       },
  "boarding_point":
       {
          "code":"PNBE"
       },
   "class":"SL",
   "no_of_passengers":"1",
   "chart_prepared":"N",
  "passengers":[
     { 
        "sr":"1",
        "booking_status":"W\/L   43,
        GNWL","current_status":
        "RAC   19"
     }
  ],
  "noms":1,
  "error":null
}

Thank You,

like image 285
Olivia Nielsen Avatar asked May 10 '26 15:05

Olivia Nielsen


1 Answers

Because your json has multiple nested arrays you need to iterate over those aswell. So we check if our value is an array if so we use an other foreach loop.

<?php
$json = '{"response_code":200,"pnr":"6642876935","train_num":"12792","train_name":"PNBE SC EXP    ","doj":" 6- 7-2015","from_station":{"code":"PNBE"},"to_station":{"code":"SC"},"reservation_upto":{"code":"SC"},"boarding_point":{"code":"PNBE"},"class":"SL","no_of_passengers":"1","chart_prepared":"N","passengers":[{"sr":"1","booking_status":"W\/L   43,GNWL","current_status":"RAC   19"}],"noms":1,"error":null}';
$data = json_decode($json, true);
?>

<table> 
      <tr>
            <td>Key</td>
            <td>Value</td>
            <td>Value</td>
      </tr>
      <?php foreach($data as $key => $value){ 

            if(is_array($value)){
                  foreach($value as $element){  
                        if(is_array($element)){
                              foreach($element as $key2 => $child){?>

                                    <tr>
                                          <td><?php echo $key; ?></td>
                                          <td><?php echo $key2; ?></td>
                                          <td><?php echo $child; ?></td>
                                    </tr>

                  <?php       }
                        } else { ?>

                  <tr>
                        <td><?php echo $key; ?></td>
                        <td><?php echo $element; ?></td>
                        <td></td>
                  </tr>

                  <?php }
                  }

            } else {   ?>

            <tr>
                  <td><?php echo $key; ?></td>
                  <td><?php echo $value; ?></td>
                  <td></td>
            </tr>

      <?php }
      } ?>
</table>
like image 84
PHPhil Avatar answered May 12 '26 04:05

PHPhil