_unknow
27.11.2011, 02:54:58
Jak zrobić system powiadomien w taki sposob, aby reszta znajomych dostala info o dzialaniu uzytkownika np.
- znajomy ASD przyjal zaproszenie od DSA
- znajomy ASD wstawil nowe zdjecie / itp.
Nie wiem jak sie do tego mam zabrac - relacje to na bank, ale moge prosic o jakis prosty przyklad relacji i konstrukcji bazy danych?
adam882
27.11.2011, 17:12:06
Nie wiem czy dobrze myślę, bo takiego modułu nie pisałem

Ale zrobiłbym to z użyciem takich dwóch tabelek z relacjami:
1)Tabela "aktywnosc":
id|id_user|fotka|zaprosil
np. 1|4|0|434 - użytkownik o ID:4 zaprosił użytkownika o ID:434
:
2) Tabela "przyjaciele" (przypisuje "id przyjaciela", do "id użytkownika"):
id|id_user|id_friend
Gość
27.11.2011, 23:53:52
Dzieki za odpowiedz

ale Ty piszesz o zapraszaniu userow, a to juz mam i to w jednej tabeli (po co 2?

).
Mi chodzi aby wszyscy znajomi(zalozmy niech ich bedzie ze stu) uzytkownika "ASDASD" zobaczyli stosowny komunikat gdy zmieni zdjecie profilowe

Ciezko mi to ogarnac bo kuleje z zaawansowana skladnia SQL. Niech ktos madry sie wypowie na ten temat... chociazby w teorii...
z gory dzieki
Dominis
28.11.2011, 00:07:09
Można to zrobić na 2 sposoby, albo dodać nastepna tabele i zapisywać co robił dany uzytkownik, np:
ASD dodal zdjecie, to ta akcje zapisujemy w tabeli.
Zeby uzytkownik NONAME to zobaczyl, to przy wyświetleniu, sprawdzamy, ta tabęle + spradzamy czy jest naszym znajomym, sortujemy według daty/id i Limit 20 wyświetleń.
Lub
zapisywać daty w tabelach ze zdjeciami, znajomymi itd., w którym user ASD dodał zdjęcie, przyjął znajomego, poznał dziewczynę itd.
Nastepnie zeby uzytkownik NONAME to zobaczył, to przy wyświetlaniu, sprawdzamy, czy jest naszym przyjacielem, sortujemy według dat, następnie LIMIT 20 wyświetleń
Gość
28.11.2011, 00:25:46
Hmmmm ja myslalem o jeszcze troche czyms innym

Moja Idea, a wlasciwie zarys opiera sie o wiadomosci prywatne. Mianowicie jesli ASDASD doda zdjecie, to automatycznie wysyla do wszystkich znajomych wiadomosc prywatna z tym czego dokonal (oczywiscie owe wiadomosci beda mialy inny typ, aby sie odroznialy od zwyklych wiadomosci). Tylko nie moge rozpracowac w pelni tego pomyslu ani zadnego innego - w sumie. Sa w sieci gdzies jakies gotowce(pisane kodem strukturalnym), aby to na spokojnie przestudiowac i napisac samemu pod wlasny portal?
zbychoo
28.11.2011, 01:49:46
Sposobów jest wiele. np. tabele jak zaproponował adam882.
-Po dodaniu foto lub czegokolwiek/kogokolwiek/gdziekolwiek trigger który doda rekord do tabeli aktywność.
- kolejna tabela aktywnosc_przyjaciel
id|id_user|id_aktywnosc
gdziej:
id_user to id kolejnych przyjaciół ( masz 100 przyjaciół = sto rekordów) zrealizujesz to w kolejnym triggerze .
Przyjaciel po zalogowaniu sprawdza tablice aktywnosc_przyjaciel trafia na swoje id czyta nastepnie określoną aktywnosc.
To rozwiązanie możesz dowolnie modyfikować np. mogą być sprawdzane tylko nowe informacje i jeśli takich nie ma w ogóle
nie sprawdza tej tabeli(oczywiscie lekka modyfikacja tabel). Sposobów jest wiele i pozostaje kwestia optymalizacji a to już mądrzejsi koledzy ode mnie muszą
się wypowiedzieć.
Pozdrawiam.