![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 1 Dołączył: 2.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym zrobić na stronie głosowanie na dany produkt. Mam pytanie - na razie czysto teoretyczne. Jak przyjęło się takie rzeczy robić? Ja wymyśliłem dwie koncepcje: 1. Glosowanie tylko w systemie + i -. W bazie z ofertą dodać dwa rekordy glosy_minus i glosy_plus. Pozniej tylko wyliczyć ocene srednią: (ocena_plus + ocena_minus) / ilość ocen 2. Drugi sposób to głosowanie w skali od 1 - 10. Tu myśłałem również o dwóch komórkach w bazie - jedna będzie zliczała głosy - to znaczy za kazdym glosem bedzie dodawala wartosc 1-10 do juz istniejacej wartosc a w drugiej komorce bede zliczac glosy - to znaczy po dodaniu do oferty zwiekszal ilosc o 1. A ocena bedzie to: (Suma głosów/Ilość głosów). Ale pewnie wy macie jakieś sprawdzone metody. A sprawa druga to jak zabezpieczyć taki system przed podwójnym głsowaniem przez tą samą osobę? z góry dziękuję -- Tikky Ten post edytował tikky 28.11.2007, 21:31:41 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
To, jaki typ ankiety zastosować zależy od Ciebie i od danych, których potrzebujesz, ja zastosowałbym skalę - od -5 do 5 (co połączyłoby te dwie metody).
Ilości głosów zliczać nie musisz, bo baza może je policzyć podczas select'a (np mysql_num_rows), więc do bazy zapisujesz same głosy, ewentualnie informacje o tym, kto je oddał. Jak zapiszesz sobie nr sesji w bazie i ciastko u klienta to teoretycznie możesz zabronić ponownego głosowania sprawdzając te informacje przy następnej próbie oddania głosu - uparty klient jak będzie chciał zagłosować ponownie to i tak zagłosuje (usunie ciastko, zmieni przeglądarkę itp) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 09:12 |