Advertisement
Guest User

Untitled

a guest
Dec 27th, 2017
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.58 KB | None | 0 0
  1. $getRegistered = $conn->prepare("SELECT id, user FROM register_results WHERE event_id = :event_id");
  2.             $getRegistered->bindParam(":event_id", $_SESSION['event_id']);
  3.             $getRegistered->execute();
  4.  
  5.             $list = array();
  6.             $headers = array();
  7.             $users = array();
  8.  
  9.             while($result = $getRegistered->fetch(PDO::FETCH_ASSOC)){
  10.                 // make new user object
  11.                 $user_object = array();
  12.                 $user_object['id'] = $result['id'];
  13.                 $user_object['user'] = json_decode($result['user']);
  14.                 //get headers by looping each result['user']
  15.                 foreach (json_decode($result['user']) as $key => $value) {
  16.                     //if new value push
  17.                     if(!in_array($key, $headers)){
  18.                         array_push($headers, $key);
  19.                     }
  20.                 }
  21.                 $users[] = $user_object;
  22.             }
  23.  
  24.             //add missing keys and values
  25.             foreach($users as $user){
  26.                 //get user from user row
  27.                 $row = $user['user'];
  28.                 //loop headers for each row
  29.                 foreach($headers as $header){
  30.                     //check if $header found in each row
  31.                     if (!array_key_exists($header,$row)){
  32.                         //if not found
  33.                         $row->$header = "-";
  34.                     }
  35.                 }
  36.  
  37.  
  38.  
  39.             }
  40.  
  41.  
  42.             $list['headers'] = $headers;
  43.             $list['users'] = $users;
  44.  
  45.             echo json_encode($list);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement