Advertisement
Guest User

Latheesan

a guest
Oct 16th, 2013
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.48 KB | None | 0 0
  1. <?php
  2.  
  3. // Dummy request params
  4. $skus = array('0001/102/0', '0001/102/1');
  5. $showTypes = array('Available', 'Unavailable');
  6.  
  7. // Raw Data - this is loaded from db
  8. $data = array(
  9.     array('SKU' => '0001/102/0', 'ReportDate' => '01/09/2013', 'Available' => 10, 'Unavailable' => 11),
  10.     array('SKU' => '0001/102/1', 'ReportDate' => '01/09/2013', 'Available' => 20, 'Unavailable' => 21),
  11.     array('SKU' => '0001/102/0', 'ReportDate' => '02/09/2013', 'Available' => 15, 'Unavailable' => 16),
  12.     array('SKU' => '0001/102/1', 'ReportDate' => '02/09/2013', 'Available' => 6,  'Unavailable' => 7),
  13. );
  14.  
  15. // Init
  16. $profile_data = array();
  17.  
  18. // Build Profile Header
  19. $profile_header = array();
  20. $profile_header[0] = 'Date Range';
  21. foreach ($skus as $sku) {
  22.     foreach ($showTypes as $showType) {
  23.         $profile_header[] = $sku .' '. $showType;
  24.     }
  25. }
  26. $profile_data[] = $profile_header;
  27.  
  28. // Sort Profile Data
  29. $data_sorted = array();
  30. foreach ($data as $skuData) {
  31.     foreach ($skuData as $key => $val) {
  32.         if (in_array($key, $showTypes)) {
  33.             $data_sorted[$skuData['ReportDate']][$skuData['SKU']][$key] = $skuData[$key];
  34.         }
  35.     }
  36. }
  37.  
  38. // Build Profile Data
  39. foreach ($data_sorted as $reportDate => $skuList) {
  40.     $skuLine = array($reportDate);
  41.     foreach ($skuList as $sku => $skuData) {
  42.         foreach ($skuData as $k => $v) {
  43.             $skuLine[] = $v;
  44.         }
  45.     }
  46.     $profile_data[] = $skuLine;
  47. }
  48.  
  49. // Finished
  50. echo json_encode($profile_data);
  51.  
  52. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement