![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
pisze na potrzeby pewnej aplikacji wewnętrzny system wiadomości wysyłanych między jej użytkownikami. Problem zrodził się w momencie w którym pojawiło się wymaganie dot. przenoszenia wiadomości miedzy folderami (np z wysłanych do kosza). Najłatwiej byłoby zrobić dla każdego folderu oddzielną tabelę...ale co jeśli user chce sobie sam stworzyć folder. Można zrobić jedną tabelę (na kosz,wysłane,odebrane razem i dać flagi w kolumnie folder), tylko tu też jest problem z folderami tworzonymi przez użytkownika. Znacie jakieś zgrabne rozwiązanie tego problemu ? Ten post edytował jastu 10.09.2007, 07:30:26 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
tabela folder
tabela wiadomosci z kolumna folder_id |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 1 566 Pomógł: 37 Dołączył: 14.05.2003 Skąd: Kraków ![]() |
Nic innego jak kategorie w newsach czy artach.
id | name <- folders mess_id | mess_name | folder_id <- messages |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
Odgrzewam...
jak rozwiązać problem wiadomości która u jednego użytkownika widnieje jako wysłana a u innego jako odebrana ? Jeśli jeden z nich usunię tą wiadomośc to zniknie ona z list obu użytkowników (zakładając że przechowujemy wszystko w jednej tabeli) ? Wiem że można to zrobic przez widoki czy wyzwalacze, ale szukam najprostszego rozwiązania na które zazwyczaj wpadamy po długiej walce z problemem. Zachęcam do dyskusji ! |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 418 Pomógł: 8 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Robisz tabelkę haszującą:
user_mess ======= user_id message_id status I wstawiasz status, czyli jak się dany użytkownik ma do danej wiadomości. Co do 2. problemu - zamiast usuwać wiadomości zmieniaj ich status. Wtedy dla jednych będą "usunięte", a dla innych nie. Problem tylko, że zaśmiecisz bazę. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 18:58 |