![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 0 Dołączył: 13.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, temat bardziej leży pod pomoc w zarysie projektu, niż problem z danym obiektem.
Chciałbym zbudować system oceniania (coś prostego) na potrzeby artykułów, oraz newsów - tak aby wypozycjonować suchary od tego dobrego materiału ;-) -> Tabela: rate:
W skrócie pisząc: rate_id identyfikator dla oceny, rated_id - co oceniamy, czy Artykuł, czy News, rater_id - kto ocenił userID, oraz rate ocena jaka padła Coś dodać, coś ująć? -> Tabela: (dodać nowe kolumny) dla Newsów oraz Artykułów:
Czyli teraz np. użytkownik oceni to wykonają się dwa zapytania: a) wysyła dane dla tabeli [b]rate (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) wysyła przeliczoną liczbę punktów (tabela: newsów/artykułów) Oczywiście podczas wyświetlania skorzystam z mysql_num_rows czy użytkownik głosował, czy nie. Czy taki system ma szanse na rozruch, o czymś zapomniałem? Chciałbym aby system miał max 6 rang 1 - gniot ... 6 - arcy dzieło więc jeśli użytkownik z listy (select, html) wybierze np. ocenę 4 to mam zrobić: 4 / 6 = średnia oceny artykułu / newsa || = 0,6 z taką średnią to raczej nie wypromuje arcy dzieł (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Proszę o rozwiązanie, korzystniejsze zastosowanie etc. ;-] |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
Źle zrozumiałeś.
Do tabeli z newsami/artykułami dodajesz pola 'suma_ocen', 'ilosc_ocen' i 'kto_ocenial'. Do wartości w pierwszym polu dodajesz ocenę jaką dał użytkownik, Wartość drugiego pola zwiększasz o 1 za każdym razem jak ktoś zagłosuje, A w trzecim polu trzymasz ID userów którzy już zagłosowali oddzielone przecinkami, dwukropkami czy jakimkolwiek innym znakiem. Ocenę artykułu otrzymujesz dzieląc 'suma-ocen' przez 'ilosc_ocen', a korzystając z funkcji explode oraz in_array sprawdzasz czy ID użytkownika znajduje się już w polu 'kto_ocenial' przy próbie oceny. Nie potrzebujesz dodatkowej tabeli rates. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 09:02 |