![]() |
![]() |
![]() ![]()
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? |
|
|
![]() |
![]()
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 -------------------- :)
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 15:13 |