Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]/[mysql]Pole miejsce i mojej liście przebojów
Forum PHP.pl > Forum > PHP
Lejto
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!!
Moli
Usuń pole miejsce, zliczaj wejścia w polu glosow i w zapytaniu do bazy daj
Kod
ORDER BY `glosow` DESC
Lejto
zrobiłem tak i ten utworów co ma najwięcej głosów jest ostatni
wlamywacz
To zamiast DESC daj ASC
Lejto
nie działa to co ma 11 gł. jest 1 to co ma 23 jest 2 i to co ma 9 jest ostatnie
em1X
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
pole gdzie zapisywane są głosy jest typu text
em1X
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
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.