Я работаю над сайтом, на котором я хочу отсортировать все на основе customer_name (это первый столбец таблицы) ..
Ниже приведен мой запрос вУ меня есть php-код:
.....
.....
$y = isset($filters['items']['yaxis']) ? $filters['items']['yaxis'] : null;
$x = isset($filters['items']['xaxis']) ? $filters['items']['xaxis'] : null;
switch ($y) {
case 'customer_name':
$query->order( columns: $y . ' ' . (strtoupper($x) == 'DESC' ? 'DESC' : 'ASC'));
break;
}
Постановка проблемы :
Мне интересно, какие изменения я должен внести в SQL-запрос выше, чтобы он сортировал все на основетолько customer_name
, но сортировка должна следовать логике, указанной ниже:
let arr = [
'1 Hello',
'2 Hello',
'3 Hello',
'4 Hello',
';1',
'z',
'%1',
'110 Hello',
'100 Hello',
'a',
'Z',
'00',
'21 Hello',
'9 Hello',
'13 Hello',
'10000 Hello',
'0 Hello',
'A'
];
arr.sort( (a, b) => {
return a.localeCompare(b, 'en', {
numeric: true
})
} ).forEach( ml => { console.log(ml) });
Приведенный выше Javascript печатает следующее o / p:
;1
%1
00
0 Hello
1 Hello
2 Hello
3 Hello
4 Hello
9 Hello
13 Hello
21 Hello
100 Hello
110 Hello
10000 Hello
a
A
z
Z
=> undefined
Так что я хочу отсортировать вседанные о customer_name
в моем вышеупомянутом php-файле, но в лексикографическом порядке, как и мой вышеупомянутый javascript.