Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Очень нужна помощь с ORDER BY

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
sofck
Отправлено: 15 Сентября, 2010 - 10:03:51
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




Дядьки умные помогите плиз....
Вообщем есть файлы переименованные руками в таком порядке
asd_1
asd_2
asd_3
asd_10
asd_12
На компе они норм отображаются в таком порядке, Но вот если при забросе из БД
поставить ORDER BY name
То сортировка будет такая
asd_1
asd_10
asd_12
asd_2
asd_3

Как сделать что бы скрипт сортировал так как указано в первом (изначальном) варианте.

Буду очень благодарен!!!!, а то придётся переименовывать, а потом и перезаливать болеее 60 альбомов
 
 Top
duk
Отправлено: 15 Сентября, 2010 - 10:22:26
Post Id



Частый гость


Покинул форум
Сообщений всего: 208
Дата рег-ции: Февр. 2010  
Откуда: Москва


Помог: 3 раз(а)




можно попробовать вычленить из имени только цифры (в отдельное поле) и сделать ордер бай по нему
 
 Top
AdMeen
Отправлено: 15 Сентября, 2010 - 10:35:34
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




sofck пишет:
...


Собственно с точки зрения скрипта он всё сортирует правильно. Если у вас всё это дело хранится в базе, то можно просто слегка изменив структуру базы, избежать переименования всех папок. Если у вас везде один и тот же префикс "asd_" то можно хранить в базе только числовые значения и делать сортировку по этому полю. Если же префиксы разные, то опять же хранить отдельно числовые значения и префиксы, и сортировать по цифрам.
 
 Top
sofck
Отправлено: 15 Сентября, 2010 - 11:03:19
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




имена то файлов везде разные. ну к примеру
table1
table2
table11
water1
water2
water3
--------------
просто файлы переминовывались для удобство дальнейшего нахождения. и на компе с порядком всё гуд. но вот бд. Просто вопрос в том есть ли возможность заставить в sql запросе сортировать так как я указал выше?
 
 Top
JustUserR
Отправлено: 15 Сентября, 2010 - 12:33:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




sofck пишет:
Как сделать что бы скрипт сортировал так как указано в первом (изначальном) варианте.
Для того чтобы реализовать сортировку по указанному вами принципу можно использовать такую схему - сначала из идентификатора объекта вырирается числовое значение с помощью функции SUBSTR начиная с указанной позиции и преобразуется в числовой типа оператором CAST - и уже по полученноому выражению происходит сортировка ORDER BY


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
sofck
Отправлено: 17 Сентября, 2010 - 01:55:18
Post Id



Гость


Покинул форум
Сообщений всего: 94
Дата рег-ции: Сент. 2008  


Помог: 0 раз(а)




хм....сложновато( простоя искал простое решение о котором может я просто не знал...типа ASC и DESC. Ну а раз такого нето я уже переименовал все файл автоматором и заново залил в бд. Впредь буду знать.. эх)) спасибо откликнувшимся!
 
 Top
JustUserR
Отправлено: 17 Сентября, 2010 - 13:40:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




sofck пишет:
Хм....сложновато( простоя искал простое решение о котором может я просто не знал...типа ASC и DESC
Приведенное выше решение для огранизации сортировки по собственному программному критерию не является особенно сложным - его суть состоит в создании отдельного поля в исходной выборке в которое по указанным правилам будут вычислять значения - и в дальнейшем полученное поле применяется в обычной ORDER BY сортировки поскольку уже содержит требуемое значение


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB