Advertisement
fabi0

Untitled

Jan 16th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.34 KB | None | 0 0
  1. if (!function_exists('o_search')) {
  2.  
  3.     function o_search($s) {
  4.         global $oracleDB;
  5.         $Return = array();
  6.         $searchString = '';
  7.         $s = trim($s);
  8.         $s = str_replace(array('+', ','), array(' ', ' '), $s);
  9.         $sArray = explode(' ', $s);
  10.         $lang = qtrans_getLanguage();
  11.  
  12.         foreach ($sArray as $key => $value) {
  13.             $value = no_magic_quotes($value);
  14.             if (mb_strlen($value) < 2) {
  15.                 unset($sArray[$key]);
  16.             }
  17.         }
  18.  
  19.  
  20.  
  21.         foreach ($sArray as $Search) {
  22.             $Search = mb_strtoupper($Search);
  23.             $Search = iconv("UTF-8", "CP1251", $Search);
  24.             $searchString .= "UPPER(LANCOM.WAREHOUSEINFORMATION.SUPPLIERITEMNUMBER) LIKE '%{$Search}%' OR ";
  25.             $searchString .= "UPPER(LANCOM.ITEMINFORMATION.ITEMTEXT1) LIKE '%{$Search}%' OR " . PHP_EOL;
  26.             $searchString .= "UPPER(LANCOM.ITEMINFORMATION.SUPPLEMENTARYTEXT2) LIKE '%{$Search}%' OR ";
  27.             $searchString .= "UPPER(LANCOM.ITEMINFORMATION.ITEMTEXT3) LIKE '%{$Search}%' OR " . PHP_EOL;
  28.             $searchString .= "UPPER(LANCOM.WAREHOUSEINFORMATION.SUPPLIERITEMNUMBER) LIKE '%{$Search}%' OR ";
  29.             $searchString .= "UPPER(LANCOM.ITEMINFORMATION.ITEMTEXT2) LIKE '%{$Search}%' OR " . PHP_EOL;
  30.             $searchString .= "UPPER(LANCOM.ITEMINFORMATION.SUPPLEMENTARYTEXT3) LIKE '%{$Search}%' OR ";
  31.             $searchString .= "UPPER(LANCOM.ITEMINFORMATION.SUPPLEMENTARYTEXT1) LIKE '%{$Search}%' OR " . PHP_EOL;
  32.         }
  33.  
  34.  
  35.         $searchString = rtrim(trim($searchString), 'OR');
  36.  
  37.  
  38.         $SQL = "
  39.                SELECT
  40.                LANCOM.ITEMINFORMATION.ITEMNUMBER,
  41.                LANCOM.ITEMINFORMATION.ITEMGROUP,
  42.                LANCOM.ITEMINFORMATION.ITEMTYPE,
  43.                LANCOM.ITEMINFORMATION.ITEMPOPUP5,
  44.                LANCOM.ITEMINFORMATION.ITEMPOPUP4,
  45.                LANCOM.WAREHOUSEINFORMATION.SUPPLIERITEMNUMBER,
  46.                LANCOM.ITEMINFORMATION.ITEMTEXT1,
  47.                LANCOM.ITEMINFORMATION.ITEMTEXT2,
  48.                LANCOM.ITEMINFORMATION.ITEMTEXT3,
  49.                LANCOM.ITEMINFORMATION.SUPPLEMENTARYTEXT1,
  50.                LANCOM.ITEMINFORMATION.SUPPLEMENTARYTEXT2,
  51.                LANCOM.ITEMINFORMATION.SUPPLEMENTARYTEXT3,
  52.                SUBCATEGORIES.NAME SUBCATEGORY,
  53.                LANCOM.WAREHOUSEINFORMATION.INVENTORYNUMBER
  54.                
  55.  
  56.                FROM LANCOM.WAREHOUSEINFORMATION
  57.                
  58.                LEFT JOIN LANCOM.ITEMINFORMATION ON LANCOM.WAREHOUSEINFORMATION.ITEMNUMBER=LANCOM.ITEMINFORMATION.ITEMNUMBER
  59.                LEFT JOIN LANCOM.POPUPITEM SUBCATEGORIES ON LANCOM.ITEMINFORMATION.ITEMTYPE = SUBCATEGORIES.POPUPITEMNUMBER
  60.                
  61.                WHERE ({$searchString})  
  62.                AND LANCOM.ITEMINFORMATION.ITEMPOPUP1='0'
  63.                AND LANCOM.WAREHOUSEINFORMATION.INVENTORYNUMBER= '1'
  64.                AND SUBCATEGORIES.POPUPTYPENAME = 'ItemTypeType'
  65.                ORDER BY ITEMINFORMATION.SUPPLEMENTARYTEXT10 DESC, LANCOM.WAREHOUSEINFORMATION.SUPPLIERITEMNUMBER ASC
  66.                ";
  67.  
  68.         $stid = oci_parse($oracleDB, $SQL);
  69.         oci_execute($stid);
  70.         while (($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
  71.  
  72.             $Return[] = iconv_array($row);
  73.         }
  74.  
  75.         return $Return;
  76.     }
  77.  
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement