Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] System wiadomości (od admina), Zagadnienie teoretyczne
oomaster
post 10.04.2011, 08:15:25
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

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


Witam,

Mam problem czysto teoretyczny. Wyobraźmy sobie sytuacje. Mam tabelę MySQL:

Cytat
od | do | tresc | przeczytane


Użytkownik 1 przesyła do użytkownika 2 wiadomość tabela zostaje zapełniona odpowiednimi danymi i pole przeczytane przybiera wartość 1. Dopiero jak użytkownik 2 zobaczy te wiadomość pole przeczytane zmienia wartość na 0.

Po między 2 użytkownikami wygląda to fajnie ale teraz mam 1000 użytkowników i chcę wysłać jedną wiadomość do wszystkich to raczej bez sensu do każdego osobną wysyłać wiadomość ale jak zrobić by każdy miał opcję przeczytane/nieprzeczytane. Całkowicie oddzielną tabele do takiego czegoś zrobić czy jak sądzicie?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
peter13135
post 10.04.2011, 10:09:57
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Myślę że większość forów (phpbb przema choćby) ma zrobione tak, że wysyła się dla każdego po jednej wiadomości i jakoś z wydajnością problemów wielkich nie ma. Rozwiązaniem jest zrobienie dodatkowej tabeli typu
Kod
id_wiadomosci | do_id | przeczytane

ale będziesz miał sporo roboty żeby zsynchronizować wiadomości masowe i niemasowe.

Proponuję zrobić taką tabelę:
Kod
id | masowa_wiadomosc

następnie zmodyfikuj swoją tabelę tak:
Kod
od | do | tresc | przeczytane | masowa

Jeśli wiadomość nie jest masowa to w masowa dajesz 0.
Jeśli masowa, to do tej tabeli jako wiadomosc nie wpisujesz NULL, a do kolumny masowa dajesz id do masowej wiadomości


--------------------
:)
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: 14.08.2025 - 15:13