![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 106 Pomógł: 0 Dołączył: 11.03.2007 Skąd: Łódzkie Ostrzeżenie: (0%) ![]() ![]() |
witam
jak w temacie interesuje mnie stworzenie wewnetrzej komunikacji miedzy użytkownikami. z możliwością - przejrzenia historii rozmowy ( tzn. pod 4 odpowiedzią będzie widoczna 3 2 i 1 ) Tak zanim zerkłem na forum myślalem o takiej strukturze: tabela Odebrane: id_wiadomości_pierwotnej id_wiadomosci_odebranej id_użytkownik (odbiorca) id_nadawca tytul tresc data tabela Wysłane: id_wiadomości_pierwotnej id_wiadomosci_wyslane id_użytkownik (nadawca) id_odbiorca tytul tresc data po wyslaniu 1 wiadomosci zapisuje się ona w odbiorczej u adresata i w wslanej u nadawcy z id_wiadomosci_pierwotnej, po odpowiedzi id_wiadomości_pierwotnej - pozostaje bez zmian, natomiast id_wiadomosci_wyslane/odberane sie zmieniaja jak rowniez wszystkie pozostałe dane. to co przejrzałem na forum nie odpowiada moim założeniom (lub błędnie to interpretuje:)) prosze o inf. czy taka baza bedzie dobra - czy da sie to latwiej zrobić. Ten post edytował japolak 20.01.2014, 20:42:56 -------------------- moje projekty:
www.hackwars.pl - hacking , webdesign itp www.kosmosnews.pl - Wszechświat bez granic |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chcesz mieć prywatne wiadomości z normalną historią konwersacji, potrzebujesz:
1. Obiektu reprezentującego konwersację: id, id_nadawcy, id_odbiorcy, temat, ilosc_nieodczytanych_wiadomosci_nadawcy, ilosc_nieodczytanych_wiadomosci_odbiorcy, data_utworzenia. 2. Obiektu reprezentującego pojedynczą wiadomość w obrębie konwersacji: id, id_konwersacji, id_nadawcy, id_odbiorcy, tresc, data_utworzenia. Przy dodaniu nowej wiadomości w konwersacji (dotyczy również utworzenia samej konwersacji) zwiększasz ilosc_nieodczytanych_wiadomosci_nadawcy/ilosc_nieodczytanych_wiadomosci_odbiorcy o jeden - to rozwiązuje problem oznaczania konwersacji z nowymi wiadomościami. Przy odczycie zerujesz odpowiednie pole. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 106 Pomógł: 0 Dołączył: 11.03.2007 Skąd: Łódzkie Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chcesz mieć prywatne wiadomości z normalną historią konwersacji, potrzebujesz: 1. Obiektu reprezentującego konwersację: id, id_nadawcy, id_odbiorcy, temat, ilosc_nieodczytanych_wiadomosci_nadawcy, ilosc_nieodczytanych_wiadomosci_odbiorcy, data_utworzenia. 2. Obiektu reprezentującego pojedynczą wiadomość w obrębie konwersacji: id, id_konwersacji, id_nadawcy, id_odbiorcy, tresc, data_utworzenia. Przy dodaniu nowej wiadomości w konwersacji (dotyczy również utworzenia samej konwersacji) zwiększasz ilosc_nieodczytanych_wiadomosci_nadawcy/ilosc_nieodczytanych_wiadomosci_odbiorcy o jeden - to rozwiązuje problem oznaczania konwersacji z nowymi wiadomościami. Przy odczycie zerujesz odpowiednie pole. no ok.. co jeśli uzytkownik chciałby skasować wiadomości ? nie ma tu takiej opcji.. jesli skasuje to skasuje dla siebie i np nadawcy .. Moze jakaś dodatkowa flaga? -------------------- moje projekty:
www.hackwars.pl - hacking , webdesign itp www.kosmosnews.pl - Wszechświat bez granic |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Nigdy nie zrozumiem po co w systemach prywatnych wiadomości wprowadza się ich usuwanie czy ograniczoną pojemność skrzynki.
2. Jeżeli już chcesz możesz dodać do tabeli konwersacji kolumny usunięte_przez_adresata_o, usunięte_przez_nadawcę_o. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 106 Pomógł: 0 Dołączył: 11.03.2007 Skąd: Łódzkie Ostrzeżenie: (0%) ![]() ![]() |
ok zostawie swoją wersje dla potomnych:) wiec tak. podczas pisania kodu doszedłem do wniosku ze wystarczy tylko 1 tabela. jej przykładowa struktura tak wygląda:
natomiast aplikacja obsługuje to w następujący sposób: 1. Wyświetlanie: a. sprawdzam czy jest dostęp do wiadomosci ( uzytkownik musi byc albo adresatem albo odbiorcą) b. skrzynka odbiorcza - wyswietlam tylko wiadomosci ktore maja flage dell_by_usr_rece ustawiona na 0 c. skrzynka nadawcza - wyswietlam tylko wiadomosci ktore maja flage dell_by_usr_send ustawiona na 0 d. jesli read ma flage 0 to uzytkownikowi pokazuje sie info ze ma nieprzeczytana wiadomosc (liczy sume nierzpeczytanych wiadomosci ) e. flaga read automatycznie ustawiana jest na 1 po wejsciu w wiadomosc przez odbiorce. (wiadomosc jest pogrubiona dopuki nie zostala przeczytana) f. po wejsciu w konkretna wiadomosc, w przypadku gdy rozmowa toczyla sie juz wczesniej - wiadomosc najnowsza wyswietla sie na gorze - a pozostale z tlem przyciemnionym i tabulatorem na dole. 2. dodawanie: a. id_ob - zmieniane jest tylko w przypadku zalozenia nowego tematu , b. przy odpowiedzi - do title dopisuje ciąg "re: " 3. usuwanie: a. gdy nadawca usuwa - sprawdzam czy wiadomosc nie zostala juz usunieta przez odbiorce ( sprawdzam dell_by_usr_rece ) jesli ustawione jest na 0 (nie usunieta) to ustawiam dell_by_usr_send = 1; jesli ustawione 1 to kasuje caly rekord z tabeli. podczas pisania tej wypowiedzi, doszedłem do wniosku ze to usuwanie jest wadą tego sytemu. bo gdy usuniemy cala wiadomosc wtedy podczas wyswietlania nadrzędnych odpowiedzi - ta jedna konretna wiadomosc sie juz nie wyswietli. - zastanowie sie tu cz nie nadpisywac jednak caly czas contenta wczesniejszymi contentami. gdyby ktoś chciał zobaczyć jak to wyglada w realu to zapraszam do zarejestrowania sie na mojej stronce www.kosmosnews.pl - przetestowania. Ten post edytował japolak 11.02.2014, 01:27:56 -------------------- moje projekty:
www.hackwars.pl - hacking , webdesign itp www.kosmosnews.pl - Wszechświat bez granic |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłeś tak jak jest na FB - nie ma tam konwersacji - zawsze rozmowa z daną osobą to kontynuacja poprzednich wiadomości.
Nie ukrywam, że tak jest prościej i w komunikatorach zbliżonych do czata na pewno jest to wygodniejsze, jednak na forach dzielenie na wątki przeważa pod względem korzyści. -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.06.2025 - 21:09 |