![]() |
![]() ![]() |
![]() |
![]()
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
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
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ą ![]() 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.....
![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
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
-------------------- Pozdrawiam
|
|
|
![]()
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 ![]() -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
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 -------------------- "Sumienie mam czyste, bo nieużywane."
|
|
|
![]()
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 ![]() Ten post edytował marcio 13.06.2008, 20:19:54 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
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 ![]() Ten post edytował marcio 13.06.2008, 20:35:28 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
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 ![]() 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 ![]() A tak pozwole zapytac a w IPB czyli na tym forum jak sie zabezpiecza sondy? Ciacha czy baza?? -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 1.07.2025 - 10:52 |