Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Projektowanie systemu komentowania treści
em1X
post
Post #1





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


Jestem w trakcie pisania niemałego projektu, w związku z czym naszły mnie pewne myśli, których z powodu nawału dzisiejszego dnia nie jestem już w stanie ogarnąć bez czyjejś pomocy wstydnis.gif

System będzie zawierał profil użytkownika, również zdjęcia. W całym serwisie też będą rzeczy, które będą wymagały oceny przez użytkowników (skala 1-5). Jednym słowem masa rzeczy do oceny. Tudzież moje pytanie:

Wariant 1 :czy do każdego typu takich rzeczy jak film, zdjęcie czy profil dodawać osobną tabelę: MovieVote, PhotoVote, ProfileVote.
Wariant 2 :czy stworzyć jedną tabelę typu Votes (votable_id, record_id, ocena, ilosc_ocen) oraz drugą VotableType (votable_id, typ) ?

Na tą chwilę wariant drugi wydaje mi się bardziej sensowny, bo przynajmniej nie będę zagracał bazy ilością tabel. A może macie jakieś inne pomysły, które mogłyby przyjść z pomocą? withstupidsmiley.gif


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mokry
post
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Może po prostu utworzyć jedną tabele Votes i w niej ew. dodawać kolumny PhotoId, MovieId, ProfileId. Domyślnie '0' dla wszystkich a potem wybierać SQL'em "... WHERE MovieId/PhotoId/... = 'IdZadanegoParametru'?


--------------------
Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
Go to the top of the page
+Quote Post
em1X
post
Post #3





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


To by mogło zadziałać, jak się człowiek wyśpi od razu lepiej mózg pracuje.. szkoda, że tak mało osób się udziela w temacie ;p


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
Athlan
post
Post #4





Grupa: Developerzy
Postów: 823
Pomógł: 12
Dołączył: 18.12.2005

Ostrzeżenie: (0%)
-----


Luuudzie, chopa pomyśleć troche tongue.gif

tabela VOTES:
- vote_material - ID profilu/newsa/arta/whatever
- vote_value - wartość głosu
- vote_type - typ głosu

2 warianty:
- vote_type to ENUM stringów, np "profile", "movie", "news"
- vote_type to SMALLINT, gdzie 1 - profil, 2 - news

Różnica? ENUM będzie działało troszkę wolniej bo stringi, natomiast SMALLINT będzie bardzo szybkie.

Klucze sam sobie odpowiednio dobierz.


--------------------
Portfolio: Vgroup.pl | athlan.pl | Test.php.pl - sprawdź się z wiedzy o PHP i ułóż własne pytania!
Pomogłem? Kliknij pod postem.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 19:10