diff --git a/htdocs/core/db/DoliDB.class.php b/htdocs/core/db/DoliDB.class.php index 8ca84e0dd10..02864012dc3 100644 --- a/htdocs/core/db/DoliDB.class.php +++ b/htdocs/core/db/DoliDB.class.php @@ -229,6 +229,7 @@ abstract class DoliDB implements Database { if (! empty($sortfield)) { + $oldsortorder = ''; $return=''; $fields=explode(',', $sortfield); $orders=explode(',', $sortorder); @@ -238,15 +239,19 @@ abstract class DoliDB implements Database if (! $return) $return.=' ORDER BY '; else $return.=', '; - $return.=preg_replace('/[^0-9a-z_\.]/i', '', $val); + $return .= preg_replace('/[^0-9a-z_\.]/i', '', $val); // Add field $tmpsortorder = trim($orders[$i]); // Only ASC and DESC values are valid SQL if (strtoupper($tmpsortorder) === 'ASC') { + $oldsortorder = 'ASC'; $return .= ' ASC'; } elseif (strtoupper($tmpsortorder) === 'DESC') { + $oldsortorder = 'DESC'; $return .= ' DESC'; + } else { + $return .= ' '.($oldsortorder ? $oldsortorder : 'ASC'); } $i++;