![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
mam crm własnej produkcji. mam w nim uzytkowników ze statusami np.: 1=aktywny, 2 = nieaktywny
chcę napisać jakieś proste narzędzie do wyświetlania dla uzytkowników komunikatów od admina. po zalogowaniu użytkownika, wyskakuje mu okienko z informacją np. "1 nowa wiadomość od admina" + treść + kliknij "potwierdzam, że przeczytałęm i rozumiem". potwierdzenia odkłądają się w bazie. przychodzi mi do głowy rozwiązanie - ale bardzo toporne i z dużą ilością zapytań... może ktoś będzie miał pomysł na lepsze? mój pomysł: 1. tabela "komunikaty": id_komunikaty, news_title, news_content, timestamp_created 2. tabela "komunikaty_log": id_komunikaty, id_user, status (0 niepotwierdzony, 1 potwierdzony), timestamp_update skrypt: - dla wszystkich komunikatów sprawdza, które są potiwredzone dla danego uzytkownika - te niepotwierdzone wyświetla jako "potwierdź", nowe potwierdzenia zapisuje do "komunikaty_log" wady: - aby komunikaty wyskakiwały na bieżąco, myszę uruchamiać skrypt przy każdym przeładowaniu strony - gdy za miesiąc dodam nowego użytkownika - wyświetlą mu się wszystkie stare komunikaty - w sumie: dużo zapytań i wykonywania skryptów jak na tak prostą funckjonalność.... Czy ktoś może będzie miał na to lepszy pomysł? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Cytat gdy za miesiąc dodam nowego użytkownika - wyświetlą mu się wszystkie stare komunikaty (IMG:style_emoticons/default/questionmark.gif) jak (IMG:style_emoticons/default/questionmark.gif) Nie ma innej możliwości, jeżeli chcesz zachować "szablony" (które możesz też trzymać w plikach) Z tabeli "log" będziesz pobierać tylko dla określonego usera komunikaty. Możesz też w tabelu "uzytkowników" dodać kolumnę "komunikaty_cache" i jeżeli wartość tej kolumny jest inna od 0 to wykonuje dodatkowe zapytanie do "komunikatów". Jak nie ma komunikatów do wyświetlenia to update dla tej kolumny. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 3.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
nie bardzo rozumiem ideę kolumny "komunikaty_cache". możesz bardziej łopatologicznie?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 559 Pomógł: 93 Dołączył: 4.03.2008 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
jeżeli boisz się ilości zapytań, to w tabeli użytkownika dodajesz tą właśnie kolumnę. Tabelę userów i tak odpytujesz, pobranie nowej kolumny nie stanowi problemu.
W momencie dodawania komunikatu do usera, ustawiasz wartość kolumny komunikat_cache na 1 lub inna wartość różną od 0. W momencie ustawiania, ze usera akceptuje i nie ma już więcej komunikatów do akceptacji ustawiasz cache na 0 sprawdzasz wartość cache i jeżeli równe od 0 to wykonujesz zapytanie pobierające komunikaty. Nie wiem czy jest sens bronić się przed tym zapytaniem przy każdym uruchomieniu skryptu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:22 |