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
Форумы портала PHP.SU :: Версия для печати :: порядок в sql
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » порядок в sql

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

1. Darkphantom - 28 Февраля, 2014 - 17:43:44 - перейти к сообщению
Здравствуйте, помогите, пожалуйста, неопытному в sql

пытаюсь осуществить порядок вложенного меню.

но вот возникает такая проблема.

так работает нормально
1.1.1
1.1.2
1.1.11

так возникает непорядок

1.1.11
1.1.3
1.1.6

как исправить запрос sql, чтобы работало так:

1.1.3
1.1.6
1.1.11
2. 3d_killer - 28 Февраля, 2014 - 19:00:19 - перейти к сообщению
а сам то запрос где? исправлять что?
вот я исправил так нормально?
1.1.3
1.1.6
1.1.11
3. Darkphantom - 01 Марта, 2014 - 08:18:10 - перейти к сообщению
Это обычный запрос SQL

Select * from table order by location
4. DelphinPRO - 01 Марта, 2014 - 12:37:54 - перейти к сообщению
Топикстартеру "natural order" нужен ( как в php http://ru2.php.net/manual/en/fun...tion.natsort.php )
не знаю, есть ли такое в мускуле.
5. Darkphantom - 01 Марта, 2014 - 13:08:24 - перейти к сообщению
да, что-то типа этого. но мне нужно максимально облегчить код. Поэтому вопрос еще актуальный.

и еще в бд стоит тип varchar, поэтому и происходит такая ерунда, если поменять тип на int, то порядок соблюдается, но этот тип не поддерживает такое: 1.1.2. то есть я не могу осуществить вложенность.

Я сейчас пошарил по интернету, видел нечто подобное. Там предлагают в запросе найти последние числа, то есть после "." , а потом их представить как int.

Напишите, пожалуйста, как это сделать.

 

Powered by ExBB FM 1.0 RC1