diff --git a/htdocs/core/db/DoliDB.class.php b/htdocs/core/db/DoliDB.class.php index 63dfa5a51f813..c94c0c0876977 100644 --- a/htdocs/core/db/DoliDB.class.php +++ b/htdocs/core/db/DoliDB.class.php @@ -246,8 +246,13 @@ public function order($sortfield = null, $sortorder = null) foreach ($fields as $val) { if (!$return) $return .= ' ORDER BY '; else $return .= ', '; - - $return .= preg_replace('/[^0-9a-z_\.]/i', '', $val); // Add field + + if (strpos($val,'ref') !== false ){ + $return .= "lpad(".preg_replace('/[^0-9a-z_\.]/i', '', $val).", 30, '0')"; + $val=''; + } else { + $return .= preg_replace('/[^0-9a-z_\.]/i', '', $val); // Add field + } $tmpsortorder = (empty($orders[$i]) ? '' : trim($orders[$i]));