![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 19.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
otóż chciałbym zrobić ranking DJ-ow, i chciałbym aby on polegał na takim systemie oceniania. PRzykłądowo mamy 100 wpisów ( DJ-i ) każdy ma na swoim koncie 1 głos ( 1 głos == 1 pkt ) i każdy z tych wpisów ma 1 % głosów...
przykład: http://topdj.pl/index.php?ranking=pDJ i jeżeli moglibyście podpowiedzieć mi jak mógłbym zrobic opcję wycofywania głosów.... ( Cookie odpada ) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 0 Dołączył: 11.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Robisz dwie tabele w bazie danych.
W jeden trzymasz wszystkich DJ'ów: +-----+-------+ +--id-+nazwa+ +-----+-------+ potem drugą tabelę oceny: +-----+--------+-------+ +-id--+-id_dj-+---ip---+ +-----+--------+-------+ Potem robisz sobie dwa pliki, w jednym wypisujesz sobie dj'ów w taki sposób: Nazwa -|- ocena -|- Zagłosuj -|- Zagłosuj będzie linkiem do tego drugiego pliku w sensie: <a href="glosuj.php?id_dj=$id">Zagłosuj</a> Potem w pliku glosuj.php robisz sobie dodanie do bazy. Dałem ci przykład, myślę że z resztą sobie poradzisz , jak nie to pytaj. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 19.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
ale wiem jak to wykonać, bo nawet do bazy bede doawał nick usera ktory będzie głosował ( tylko dla zalogowanych ) ale mi chodzi tutaj o dokładny kodzik który będzie przeliczał te dodawane głosy na te stopnie % aby suma WSZYSKICH ocen procentowych w bazie wyniosła 100. np ja mam odmienny system, który się do tego nei nadaje, a wygląda on tak:
i chodzi mi o taki jaki wymieniłem w 1 poście... gdzie demko podałem ;D |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy do końca rozumiem, ale chyba wykorzystanie proporcji wystarczy na Twoje potrzeby.
suma_wszystkich_glosow - 100% ilosc_glosow_na_jednego - x % Z czego wychodzi x=(ilosc_glosow_na_jednego*100)/suma_wszystkich_glosow; |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 19.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
ostatnie pytanie, jak zmienić tą liczbę na liczbe z 2 miejscami po przecinku, np:
4.24 % (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
Zapoznaj się z funkcją round
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 19.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
oki dałem coś takiego:
i pokazuje jako:
i gdy klikam na głosuj ( funckja vote_sql )
to dodaje ten punkt, ale poten gdy mam np. 2 wpisy, dodaje dodaje i suma tych głosów nie jest równa 100 % tylko dodałem klika głosów i jest np 150 i 150.... a cała funckja wygląda tak:
i niestety suma wszystkich ocen nie jest równa 100 pomoglibyście ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował fredzio90 24.06.2007, 16:10:43 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 318 Pomógł: 6 Dołączył: 27.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
$numb u Ciebie to ILOŚĆ WPISÓW, a nie suma głosów. Oczywistą sprawą jest że nie daje to 100 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
U Ciebie np: id | id_DJ | il_glosow 1,1,4 2,2,22 3,3,3 dla dj nr 1 da : 4*100/3. Zsumuj najpierw po il_glosow.
I dziel przez to. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 0 Dołączył: 19.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
źle zinterpretowałem podpowiedz ;D
ale teraz wygląda coś takiego:
i pokazuje jako $rate lecz wywala 2 błędy: Cytat Warning: Division by zero in /home/accounts_f/fredzio90/public_html/module/rank_dj.inc.php on line 33 Warning: Division by zero in /home/accounts_f/fredzio90/public_html/module/rank_dj.inc.php on line 33 i nic nie pokazuje w ocenach.. .. .. pomożecie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) już rozwiązałem problem, dałem coś takiego:
i dzielnie wykonałem tak: $rate = ($il_glosow*100)/$suma; i zaokrągliłem jako i HULA (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ten post edytował fredzio90 26.06.2007, 11:19:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 28.09.2025 - 16:06 |