Lejto
6.10.2007, 17:25:11
Napisałem listę przebojów (prawie) mam tylko problem z określeniem miejsca utworu na liście (tak aby przy utworze na który oddano najwięcej głosów była 1 i tak dalej) w bazie mam pola utwor tytul miejsce glosow odsluchaj id. I jak ktoś odda głos to pole miejsce zmieni wartość wg ilości głosów i utworów zapisanych w bazie.
help!!
Usuń pole miejsce, zliczaj wejścia w polu glosow i w zapytaniu do bazy daj
Kod
ORDER BY `glosow` DESC
Lejto
6.10.2007, 17:58:29
zrobiłem tak i ten utworów co ma najwięcej głosów jest ostatni
wlamywacz
6.10.2007, 20:31:15
To zamiast DESC daj ASC
Lejto
7.10.2007, 18:07:01
nie działa to co ma 11 gł. jest 1 to co ma 23 jest 2 i to co ma 9 jest ostatnie
bo Twoje pole w bazie danych, w ktorym zapisane są głosy jest typu VARCHAR zamiast INT. Przy typie varchar sortowanie jest przy pomocy algorytmu naturalnego sortowania: czyli
mając elementy 1, 2, 3, 10, 21
wynikiem sortowania będzie 1, 10, 2, 21, 3.
Lejto
7.10.2007, 18:12:50
pole gdzie zapisywane są głosy jest typu text
no jak dla mnie to moze być nawet blob.. należy zmienić na integer.
ps. nie bez powodu masz do wyboru tyle typów pól - radzę się z nimi zapoznać - żeby na przyszłość nie używać pola `text` dla liczb.. albo `integer` dla tekstu.
Lejto
8.10.2007, 17:35:12
Zmieniłem na INT i jest ok
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.