buildOrders (ok)

public function buildOrders

public function buildOrders($orders = null)
    {
      $sql = '';
      if($orders !== "") {
        $ordersCache = preg_replace ( '/,\s+/', ',', $orders );
        // Xử lý khoảng trắng sau dấu , ví dụ "ABC, CDE" Chuyển về "ABC,CDE"
        $ordersCache = trim($ordersCache);
        // Xử lý khoảng trắng 2 phía trước và sau, ví dụ " ABC, CDE " chuyển về "ABC,CDE"
        if(!is_array($ordersCache)) $ordersCache = explode(",",$ordersCache);
        $orders = array();
        foreach ( $ordersCache as $item ) {
          $itemArr = explode ( " ", $item );
          // Xử lý chuỗi chó khoản trắng ví dụ "ABC DESC" chuyển thành mảng
          // Xử lý chuỗi chó khoản trắng ví dụ "GHG DESC " chuyển thành mảng
          // Xử lý chuỗi chó khoản trắng ví dụ "MHT DESC" chuyển thành mảng
          //  array (
          //    0 => 'ABC',
          //    1 => 'DESC',
          //  )
          //  array (
          //    0 => 'GHG',
          //    1 => 'DESC',
          //    2 => '',
          //  )
          //  array (
          //    0 => 'MHT',
          //    1 => 'DESC',
          //  )
          if (isset ( $itemArr [1] )) {
            $orders [$itemArr [0]] = $itemArr [1];
          }else {
            $orders [$itemArr [0]] = 'ASC';
          }
        }
        // Kết quả:
        //array (
        //  'ABC' => 'DESC',
        //  'GHG' => 'DESC',
        //  'MHT' => 'DESC',
        //)
        if (count ( $orders )) {
          $str = "";
          foreach ( $orders as $k => $v ) {
            $str .= ($k . " " . $v . ", ");
          }
          if ($str != "") {
            $str = substr ( $str, 0, (strlen ( $str ) - strlen ( $str ) - 2) );
          }
          $sql = "ORDER BY " . $str;
        }
      }
      return $sql;
    }

Last updated