Форум русской поддержки Joomla!® CMS
09.12.2016, 17:33:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Сортировка материалов категории, содержащии в названии числа

 (Прочитано 172 раз)
0 Пользователей и 1 Гость смотрят эту тему.
RezistoR
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 71


Danger! High Voltage!


« : 15.12.2015, 19:20:46 »

Итак есть список материалов, который состоит из названия моделей устройств, сами названия имеют такой вид:

X200; X201; X55; X75

Нужно их вывести списком в алфавитном порядке от меньшей модели к большей, так:

X55
X75
X200
X201

А у меня система выводит их так:

X200
X201
X55
X75
 
Т.е. он определяет сортировку не по числу в целом, а по первой цифре числа.
Как исправить? Где код изменить?

Спасибо.
Записан
Shustry
Группа развития
*****

Репутация: +727/-3
Offline Offline

Пол: Мужской
Сообщений: 6667


Рисую дизайны


« Ответ #1 : 15.12.2015, 23:26:57 »

Разбить массив на ключ=>значение по регулярке, отсортировать по ключам, создать новый массив из слитых значение.ключ.
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

Пол: Мужской
Сообщений: 3593


« Ответ #2 : 16.12.2015, 00:49:36 »

Если ваш столбец идет только в этом виде
X200; X201; X55; X75
, то есть с префиксом "Х", то делайте такой запрос
Код
SELECT нужные_столбцы FROM ваша_таблица ORDER BY length(тот_самый_столбец), тот_самый_столбец
 
В противном случае нужно больше информации.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet