Помню давно проходил данную тему но щас подзабыл и немагу уже найти ответа. При запросе в базу ORDER BY price ASC выводяться данные таким образом 150.00 155.00 2.00 9000.00 т.е. сортирует по первой цифре, это и понятно т.к. цена храниться в ячейке ввижде VARCHAR с точкой, например 2.000.000.00
Да совсем забыл, но думал и так ясно. Из: 150.00 155.00 2.00 9000.00 надо сделать: 9000.00 155.00 150.00 2.00
http://www.mysql.ru/docs/man/String_functions.html тупо берем select price*1 as price... но это дольше - лучше хранить цену в формате decimal Если выборка большая, то НАМНОГО дольше.
armadillo, я чё? Я ничё. Просто кто-то слишком умный (не тыкаю пальцем в Johnatan) начитался "короткие и ироничные комментарии для чайников".
2000000 - цыферка, которая потом преобразуется в 2.000.000,00 И если ты прекрасно знаешь, что тебе нужна будет сортировка по числам, а не по буквам - нафига пихать число в строку? Но, конечно, если туда написать, например, "5 тыщ миллионов тугриков" сортировка будет соответствующая.