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