Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Działania na bazie danych - głosowanie
Forum PHP.pl > Forum > Przedszkole
maniek.kos
Witam, zastanawiam się nad jedną rzeczą, mianowicie chcę stworzyć system głosujący coś jak "lubię to" na facebooku.

co było by lepsze przy założeniu, że mam taką strukturę bazy danych:

mp3
id
id_list
plus - 1;2;3;4;5;6
minus - 7;8;9;10

gdzie 1;2;3 to id_user, który głosuje. Minus w przypadku "Nie lubienia" lub informacji, że kiedyś to lubiał

---------------------

Co jest lepsze? Taka jak wyżej, czy ta poniższa, jeżeli chodzi o szybkość i optymalizację.

like
id
id_mp3
data
id_user

Co będzie szybsze i lepsze? Załóżmy, że drugą metodą mogę połączyć śmiało JOINEM i sumować like, ale jak będzie ich setki tysięcy to jak to będzie wyglądało ?

A może ktoś zna lepszy sposób na takie rozwiązanie?
matiit
Nie... Tak jest bardzo źle (Pierwszy sposócool.gif.

To będą 2 tabele (user i likes) + tabela łącząca dla relacji wiele do wielu. Poczytaj o tym.
Mackos
Druga opcja.
W związku z tym co napisałeś
Cytat
ale jak będzie ich setki tysięcy to jak to będzie wyglądało

Wyobrażasz sobie rekord z setką tysięcy id'ków podzielonych średnikiem?
Zrób tak jak w drugiej opcji na silniku Archive i oszczędzisz sobie nieco serwer wink.gif
maniek.kos
W takim razie stworzę osobną tabelę do lajków smile.gif Dzieki za podpowiedzi. O tym Archive w php musze poczytać, bo nie słyszałem nigdy
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.