Проблем със сортиране

webdeveloper

Registered
Здравейте, имам проблеми със сортирането ми.

Код:
$sql = "SELECT * FROM `$tab` WHERE `a`='1' ORDER BY `$by` DESC LIMIT $limit, $pp";

Като променливата $by съдържа съответното поле според което да сортира. Във всички полета съдържанието е едно и също, цифри. Би трябвало да сортира резултатите така, че най-отгоре да излизат тези с най-голяма стойност на цифрата в полето $by. Е да, излизат но само до 9. Като първи резултати ми излизат тези със стойност 9:

Първи резултат - 9
Втори - 8
Трети - 7
Четвърти - 6
и т.н.

А тези със стойност по-голяма от 9 заминават там където им скимне...

Ако не сте ме разбрали кажете да се опитам да го обясня по-добре.
 
DESC - подрежда резултатите в намаляваш ред - от най-голямото, към най-малкото число, от последната буква към първата буква и т.н. (Z-A)

ASC - подрежда резултаттие в нарастраш ред - от най-малкото число към най-голямото число, от първата буква към последната буква (A-Z). Също така това е и стойността по подразбиране, така че може и да не го пишеш в заявка си.

Обаче имаш още един проблем - типа на колоната в базата-данни. Вероятно не си използвал типовете за числа, ами за текст. Оправи си колоната да е от тип, примерно INT(10) вместо varchar(255) или каквото там имаш в момента. Ако искаш числа с плаваща запетая - FLOAT или DECIMAL
 
exec каза:
DESC - подрежда резултатите в намаляваш ред - от най-голямото, към най-малкото число, от последната буква към първата буква и т.н. (Z-A)

ASC - подрежда резултаттие в нарастраш ред - от най-малкото число към най-голямото число, от първата буква към последната буква (A-Z). Също така това е и стойността по подразбиране, така че може и да не го пишеш в заявка си.

Обаче имаш още един проблем - типа на колоната в базата-данни. Вероятно не си използвал типовете за числа, ами за текст. Оправи си колоната да е от тип, примерно INT(10) вместо varchar(255) или каквото там имаш в момента. Ако искаш числа с плаваща запетая - FLOAT или DECIMAL

Напълно си прав... И аз как не се сетих...

Благодаря ти!
 

Back
Горе