![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 19.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam pewien problem z systemem ocen (plus i minus), nie wiem dokładnie jak to zrobić. Chciał bym zrobić taki system ocen jak na www.maxmix.pl/movie-10543.html Ale nie wiem w ogóle jak to jest zrobione, może ktoś mi pomóc? lub gdzie znajdę jakieś wskazówki? Pozdrawiam Ten post edytował necro 13.06.2008, 16:15:35 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Człowieku, bez przesady....
Po prostu za kliknięciem dodajesz do bazy ilość kliknięć PLUS bądź MINUS a następnie z tych wartości obliczasz sobie w dowolny sposób wartość... Trochę więcej samodzielności i konkretnych pytań. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 19.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem to już, ale nie wiem jak zrobić aby nie przeładowywało strony i jak obliczyć średnią w skali 10
Pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
użyj AJAX-a
"średnią w skali 10" - z matematyki uciekałeś? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 19.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Musisz obrażać?
Nie nie uciekłem, tylko nie wiem jak to w php zrobić. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Dobra, dobra, wyluzuj.
Powiedz jakim sposobem chcesz to napisać (bo mi dwa przyszły na myśl) to powiem jak to zaimplementować. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 19.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem jakim sposobem ale na razie zrobiłem tak:
w Tabeli filmiki dodałem rekordy plus(int11) i minus(int11). Głosy dodaje tak: Kod if($_COOKIE[$_GET[id]]){ echo "<center> Nie możesz dodać więcej głosów na ten dowcip! </center>"; }else{ if(!isset($_COOKIE[$_GET['id']])){ setcookie( $_GET['id'], $_GET['id'], time()*3600*12); }else{ setcookie( $_GET['id'], "voted", time()*3600*12); } $sql = "SELECT * FROM filmiki WHERE id = '$_GET['id']'"; $res = mysql_query($sql); $row = mysql_fetch_array($res); if($_GET['glos'] == "plus"){ $plus = $row['plus']+1; $sql = "UPDATE filmiki SET plus='$plus' WHERE id='$_GET['id']'"; $res = mysql_query($sql); echo "<center> Twój głos został dodany! </center>"; } if($_GET['glos'] == "minus"){ $minus = $row['minus']+1; $sql = "UPDATE filmiki SET minus='$minus' WHERE id='$_GET['id']'"; $res = mysql_query($sql); echo "<center> Twój głos został dodany! </center>"; } } Pozdrawiam |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Hmm... ale z tego co widze to ty zwiekszasz lub zmiejszasz zmienna z bazy i na nowo ja zapiusjesz najlatwiej bedzie zrobic tak robisz <select> z option on 1-10 dodajesz do bazy za pomoca insert into nie update aby zrobic srednia liczysz wszystkie oceny od danego filmu dzielisz perzez wszystkie oceny i zaokroglasz za pomoca round() albo ceil() zalezy jak chcesz zaokroglac bo tak jak ty to robisz to chyba nie mozna obliczyc sredniej tak jak chcesz w sumie moze sam napisze system ocen do art'ow w cms
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 19.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wolał bym zrobić tak jak jest teraz, nie da jakoś rady?
Pozdrawiam Dzięki za info o zaookrągleniu liczby PS. Chciałem tylko plus i minus no i żeby obliczało średnią (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) Ten post edytował necro 13.06.2008, 17:48:28 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Nie wiem jak moglbys obliczac srednia przy twoim systemie nie przychodzi mi nic do glowy chyba ze bedziesz robis roznice pozytywnych i negatywnych ocen i to wsio ale cos nie teges.....(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 1 Dołączył: 19.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Wiesz, nie znam najlepiej PHP, szukałem wszędzie ale co znalazłem to tylko gwiazdkowe systemy ocen a ja takich nie chce.
Pozdrawiam |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 5 Dołączył: 17.07.2007 Skąd: Krakow Ostrzeżenie: (0%) ![]() ![]() |
Do obliczania średniej służy w Mysql funkcja AVG.
Kod SELECT AVG(ocena) FROM oceny as srednia
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Gwiazdkowe systemy oceny opierają się na praktycznie tej samej zasadzie.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Sorki za OT ale chcialem zapytac tez sobie zrobie system ocen tak jak mu to opisalem tylko mam pytanko bo wysylanie cookie nie jest zabardzo bezpieczne zapisywac w bazie i sprawdzic czy dany user juz dodal czy samo cookie wystarcz??
@simple programmer i jak to potem wyswietlic sorki za takie pytanko ale sql az tak dobrze nie znam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze to zwiększać ilość plusów/minusów w bazie danych możesz przy pomocy jednego zapytania, np:
Do wyświetlenia oceny potrzebujesz z bazy: ilość ocen ( plusy i minusy ) oraz ilość plusów. A potem już matematyka: ile procent wszystkich głosów to plusy i zamiana na skalę 1-10 ( 0% = 1; 100% = 10 ) Możesz to zrobić w PHP, lub już na poziomie zapytania SELECT |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
@necro bede dobry masz napisalem sobie taki system ocen dla moich art'ow nie mozna oceniac 2 razy nie wysylac cookie bo mozna oszukiwac o jest srednia ocen
Czy ktos moze mi powiedziec czy ten kod jest optymalny jesli nie jest to prosze o pokazania jak go zooptymalizowac (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował marcio 13.06.2008, 20:19:54 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Sorki za OT ale chcialem zapytac tez sobie zrobie system ocen tak jak mu to opisalem tylko mam pytanko bo wysylanie cookie nie jest zabardzo bezpieczne zapisywac w bazie i sprawdzic czy dany user juz dodal czy samo cookie wystarcz?? baza + ciacha baza = pewność, że nie oszukuje ciacha = ograniczenie zapytań do bazy. |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat baza + ciacha baza = pewność, że nie oszukuje ciacha = ograniczenie zapytań do bazy. WLasnie zrobilem sprawdzanie na bazie mam pewnosci ze ktos nie oszuka a tak jak mi powiedzieli w innym temacie o 1 zapytanie wiecej baza nie zdechnie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował marcio 13.06.2008, 20:35:28 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
No tak, ale przecież chodzi o to, żeby nie zagłosowali drugi raz. Walisz ciacho i nie musisz za każdą odsłoną dawać tego jednego zapytania. A jak ciacha nie będzie, to dopiero wtedy się musisz upewnić.
Przy większej aplikacji (więcej takich "akcji") możesz na tym zaoszczędzić 2-3 zapytania na odsłonę. Przy dużej ilości userów jakaś różnica będzie (nieduża, ale zawsze). |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat No tak, ale przecież chodzi o to, żeby nie zagłosowali drugi raz No to tez ni zaglosuje 2 razy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Cytat Walisz ciacho i nie musisz za każdą odsłoną dawać tego jednego zapytania. A jak ciacha nie będzie, to dopiero wtedy się musisz upewnić. To to0 ja tez wiem ale koledzy upewnili mnie ze nie robi to roznicy przy 2-3k user'ow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A tak pozwole zapytac a w IPB czyli na tym forum jak sie zabezpiecza sondy? Ciacha czy baza?? |
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Moim zdaniem warto oszczędzać wszędzie, gdzie nie wiąże się to z dużą ilością kodu do napisania. Nie jestem w stanie potwierdzić tego żadnymi testami, ale wydaje mi się że przy dużym skrypcie i dużej ilości userów różnica dzięki takim pierdołkom będzie.
Ciacha + baza. Mówiłem przecież. Ten post edytował radex_p 14.06.2008, 09:10:08 |
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Po co ciahca + baza albo jedno albo drugie a nie 10 rzeczy chcesz potestowac:
http://www.marcio.szu.pl/czyt_art.php?stro...p;autor=uw_test Login: uw_test Haslo: uw_test |
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ehhh... Już to wytłumaczyłem.
Baza po to, żeby mieć PRAWDZIWĄ pewność, że już głosowałeś A ciacha po to, żeby ograniczyć zapytania do bazy i zrobić to po stronie klienta. Rozumiesz? Ciacha po jakimś czasie wygasają. Można je też ręcznie usunąć. Po to dodawanie tych danych do bazy. A jeśli ciastko jest (np. zaglosowal=tak), to dopóki nie będzie próbował zagłosować, nie ma sensu pakować zapytania do bazy. |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Nie rozumiem twojej toerii moglbys to pokazac na moim kodzie??
Chodzi ci o to ze gdy wysyla pierwszy glos wysylam ciacho gdy ciacha nie ma bo wygaslo albo ktos usunolem przed wyswietleniem forma sprawdzam czy jest ciacho jesli go nie to robie zapytanie czy dana osoba juz dodala odpowiez w sumie teoria dobra jak mi sie bedzie chcialo to moze zmienie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale dzieki |
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
O to właśnie chodzi (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
W sumie to to jest ok moze zrobie cos takiego tylko jak ktos oceni 50 art'ow to bedzie mial 50 cookie a w cookie bede musial wysylac id art'a moze to zmienie w sumie to jest 5 min roboty :0
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 08:44 |