Mam taki problem z sortowaniem zapytania z bazy danych, zapytanie mam takie:
Kod
SELECT p.*, kp.*, k.nazwa, k.id, k.kategoria_obejmujaca_id, ko.id, ko.name
FROM '.DB_PRODUCT.' p
CROSS JOIN (SELECT * FROM '.DB_PRODUCT_TO_CATEGORY.') AS kp ON (p.id = kp.id_produktu)
CROSS JOIN (SELECT * FROM '.DB_CATEGORY.') AS k ON (k.id = kp.id_kategorii)
CROSS JOIN (SELECT * FROM '.DB_HEAD_CATEGORY.') AS ko ON (k.kategoria_obejmujaca_id = ko.id)
WHERE product_visability = "1"
ORDER BY '.$sort_by.'
'.$pages->limit
FROM '.DB_PRODUCT.' p
CROSS JOIN (SELECT * FROM '.DB_PRODUCT_TO_CATEGORY.') AS kp ON (p.id = kp.id_produktu)
CROSS JOIN (SELECT * FROM '.DB_CATEGORY.') AS k ON (k.id = kp.id_kategorii)
CROSS JOIN (SELECT * FROM '.DB_HEAD_CATEGORY.') AS ko ON (k.kategoria_obejmujaca_id = ko.id)
WHERE product_visability = "1"
ORDER BY '.$sort_by.'
'.$pages->limit
gdzie stałe to nazwy tabeli, zmienna $sort_by ma w sobie dane np: p.cena DESC lub ASC a zmienna $pages->limit to zmienna od stronicowania, i gdy chce posortować wyniki to sortuje mi w ten sposób:
Cena jest trzymana w bazie w formacie xx.xx
Kod
95.09
...
91.23
90.05
9.87
9.78
...
9.25
9.10
63.70
63.29
[b]79.34[/b]
78.34
...
91.23
90.05
9.87
9.78
...
9.25
9.10
63.70
63.29
[b]79.34[/b]
78.34
Możecie mi powiedzieć czym to jest spowodowane bo dokładnie tak samo "sortuje" po nazwie produktu etc...