Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]relacje powiadomienia, system powiadomien
-_unknow-
post 27.11.2011, 02:54:58
Post #1





Goście







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?



Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
adam882
post 27.11.2011, 17:12:06
Post #2





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


Nie wiem czy dobrze myślę, bo takiego modułu nie pisałem tongue.gif 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 to the top of the page
+Quote Post
-Gość-
post 27.11.2011, 23:53:52
Post #3





Goście







Dzieki za odpowiedz biggrin.gif ale Ty piszesz o zapraszaniu userow, a to juz mam i to w jednej tabeli (po co 2?tongue.gif).

Mi chodzi aby wszyscy znajomi(zalozmy niech ich bedzie ze stu) uzytkownika "ASDASD" zobaczyli stosowny komunikat gdy zmieni zdjecie profilowe smile.gif
Ciezko mi to ogarnac bo kuleje z zaawansowana skladnia SQL. Niech ktos madry sie wypowie na ten temat... chociazby w teorii...

z gory dzieki
Go to the top of the page
+Quote Post
Dominis
post 28.11.2011, 00:07:09
Post #4





Grupa: Zarejestrowani
Postów: 77
Pomógł: 19
Dołączył: 13.02.2010

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


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ń


--------------------
www.maxcode.pl
Go to the top of the page
+Quote Post
-Gość-
post 28.11.2011, 00:25:46
Post #5





Goście







Hmmmm ja myslalem o jeszcze troche czyms innym smile.gif
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?
Go to the top of the page
+Quote Post
zbychoo
post 28.11.2011, 01:49:46
Post #6





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 28.11.2011

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


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.
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 Wersja Lo-Fi Aktualny czas: 19.06.2025 - 22:22