Potwierdzenie przeczytania artykułu dla poszczególnych użytkowników

0

Hej!
Szukam pomocy.

Wykonuję stronę w PHP/HTML (bez JS) +MySQL i stworzyłem stronę w której wczytują się artykuły/ogłoszenia publikowane przez Zarząd (docelowo informacyjna część serwisu o aktualizacji procedur, informacji o zmianach, spotkaniach itp.).
Zgodnie z założeniami należy tam umieścić potwierdzanie przeczytania wiadomości, żeby pracownik po zalogowaniu mógł zatwierdzić, że zapoznał się z nowym wzorem umowy/nową regulacją. I tu pojawia się problem - sam nie wiem jak się do tego zabrać.

Pierwszym pomysłem było rozszerzenie tabeli "artykuły" o kolumnę z ID użytkowników, ale nie chcę, żeby baza puchła z każdym dodanym użytkownikiem.
Drugim pomysłem na który wpadłem po przeczytaniu paru artykułów było utworzenie plików z ID użytkownika, który byłby wczytywany podczas ładowania strony i sprawdzał, czy id_artykułu zostało tam wpisane, a jeśli tak -> to oznaczałby artykuł jako przeczytany.

Pytanie: czy ktoś ma z tym styczność i mógłby powiedzieć jakie rozwiązania są powszechnie stosowane, albo czy macie jakieś sugestie jak można by zaprojektować tę część sprawdzającą, żeby nie zajmowała mnóstwa zasobów?

Szybki opis:
MYSQL:

  • tabela artykuły [ id, tytuł, treść, autor, czas_wpisu, stopień_ważności ]
  • tabela użytkownicy [ id, login, haslo, email, status ]

Z góry dziękuję za pomoc!

2024-01-18_20h18_34.png

5

Najprościej - trzecia tabela z potwierdzeniami, minimum id_artykułu, id_pracownika, na to constraint unique, dodatkowo jakaś kolumna z datą, jeśli potrzeba.

1

Pierwszym pomysłem było rozszerzenie tabeli "artykuły" o kolumnę z ID użytkowników, ale nie chcę, żeby baza puchła z każdym dodanym użytkownikiem.

Nie martwiłbym się o puchnięcie bazy (ile masz tych użytkowników?), bardziej o to, że mając kolumnę lista_użytkowników_co_przeczytali musiałbyś tam jakoś wstawiać listę id-ków, co jest trochę nie po relacyjnemu.

Drugim pomysłem na który wpadłem po przeczytaniu paru artykułów było utworzenie plików z ID użytkownika, który byłby wczytywany podczas ładowania strony i sprawdzał, czy id_artykułu zostało tam wpisane, a jeśli tak -> to oznaczałby artykuł jako przeczytany.

Ogólnie mając do dyspozycji bazę danych, do, jak mniemam, trzymania w niej danych, to tworzenie jakichś plików na boku wydaje się co najmniej dziwne :)

@SkrzydlatyWąż dobrze prawi :) Fakt przeczytania artykułu reprezentujesz wierszem w trzeciej tabelce. Możesz zastanowić się od razu, czy system ma pozwalać na "cofanie" przeczytania - wtedy po prostu kasujesz dany wiersz, jeśli nie potrzebujesz historii akcji.

0

Proste rozwiązanie, którego mały rozumek bez doświadczenia nie był w stanie pojąć.
Dziękuję!

1 użytkowników online, w tym zalogowanych: 0, gości: 1