Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.79 KB | None | 0 0
  1. <?php
  2.  
  3. $data_customer_scan[0] = array(
  4.     "ScanID" => "12345",
  5.     "customerName" => "Yudha",
  6.     "salesName" => "Andri"
  7. );
  8. $data_customer_scan[1] = array(
  9.     "ScanID" => "123456",
  10.     "customerName" => "Maulana",
  11.     "salesName" => "Anggi"
  12. );
  13. $data_customer_scan[2] = array(
  14.     "ScanID" => "1234567",
  15.     "customerName" => "Yudi",
  16.     "salesName" => "Ang"
  17. );
  18.  
  19. $params['customer_name'] = "Yud";
  20.  
  21. if ($params['customer_name'] || $params['sales_name']) {
  22.     $search_customer = false;
  23.     $search_sales = false;
  24.  
  25.     if ($params['customer_name']) {
  26.         $search_customer = true;
  27.     }
  28.     if ($params['sales_name']) {
  29.         $search_sales = true;
  30.     }
  31.  
  32.     foreach ($data_customer_scan as $k => $v) {
  33.         if ($search_customer) {
  34.             $customerName[] = $v['customerName'];
  35.         }
  36.         if ($search_sales) {
  37.             $salesName[] = $v['sales']['name'];
  38.         }
  39.     }
  40.  
  41.     if ($search_customer) {
  42.         // search customer by name
  43.         $search_customer_name = preg_quote($params['customer_name'], '~');
  44.         $search_result_customer_name = preg_grep('~' . $search_customer_name . '~', $customerName);
  45.     }
  46.     if ($search_sales) {
  47.         // search sales by name
  48.         $search_sales_name = preg_quote($params['sales_name'], '~');
  49.         $search_result_sales_name = preg_grep('~' . $search_sales_name . '~', $salesName);
  50.     }
  51.  
  52.     // do search by all data
  53.     foreach ($data_customer_scan as $k => $v) {
  54.         if ($search_customer) {
  55.             if (in_array($v['customerName'], $search_result_customer_name)) {
  56.                 $temporary_result_cus_name[] = $v;
  57.             }
  58.         }
  59.         if ($search_sales) {
  60.             if (in_array($v['sales']['name'], $search_result_sales_name)) {
  61.                 $temporary_result_sales_name[] = $v;
  62.             }
  63.         }
  64.     }
  65.  
  66.     // Result Customer
  67.     if ($temporary_result_cus_name && $temporary_result_cus_email) {
  68.         $temp_res_customer = array_merge($temporary_result_cus_name, $temporary_result_cus_email);
  69.     } else {
  70.         $temp_res_customer = !empty($temporary_result_cus_name) ? $temporary_result_cus_name : $temporary_result_cus_email;
  71.     }
  72.  
  73.     // Result Sales
  74.     if ($temporary_result_sales_name) {
  75.         $temp_res_sales = $temporary_result_sales_name;
  76.     }
  77.  
  78.     if ($search_customer && empty($search_sales)) {
  79.         $temp_res = $temp_res_customer;
  80.     } elseif (empty($search_customer) && $search_sales) {
  81.         $temp_res = $temp_res_sales;
  82.     } else {
  83.         // Make operator AND MANIPULATE QUERY
  84.         foreach ($temp_res_customer as $v) {
  85.             if (in_array($v['ScanID'], array_column($temp_res_sales, 'ScanID'))) {
  86.                 $temp_res[] = $v;
  87.             }
  88.         }
  89.     }
  90.  
  91.     echo "<pre>";
  92.     var_dump($temp_res);      
  93.  
  94. }
  95.  
  96. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement