Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Forum - oznaczanie nowych postów, nieprzeczytanych
Forum PHP.pl > Forum > PHP
Aztech
Chciałbym się dowiedzieć w jaki sposób można rozwiązać rzecz dostępną np na tym forum, czyli oznaczanie postów przeczytanych i nieprzeczytanych przez użytkownika, postów nowych oraz postów na które ktoś odpowiedział od ostaniej wizyty użytkownika.
Może ktoś z was robił coś podobnego, może gdzieś można znaleźć gotowe rozwiązania (albo inaczej, nie tyle gotowce co wyjaśnienie zasad jak stowrzyć tabelę MYSQL - to jest w sumie dla mnie najważniejsze - ew jakie to ugryźć w php5 - chociaż tutaj już jakiś szkic mam [piszę na razie do tego prostą klase z najprostssymi funkcjami]). Za wszelkie wskazówki typu linki do stron, kursów albo naprowadzenia na słowa kluczowe po których można to wyszukać będę bardzo wdzięczny.
Zależy mi na tym, zeby się tego nauczyć, by później móc to zaimplementować w swojej aplikacji.
Oczywiście jeśli coś takiego można znaleźć w ojdcystym języku będzie super, ale po angielsku też dam rady.
dtb
a) dodaj do usera kolumne gdzie bedzie zapisywane id przyczeytanych postow
cool.gif dodaj do posta kolumne gdzie bedzie zapisywane id userow ktorzy przyczytali post
c) zrob nowa tabele:
id_posta | id_usera
i jak user przeczyta posta to dodaje nowy wpis
Aztech
ad a) to całkowicie odpada, wyobraż sobie że np postów jest 100? jak chesz to rozwiązać tym sposobem?
ad cool.gif patrz wyżej i zamiast 100 postów weź stu userów. chcesz to umieścić w jednym polu?
ad c) tak też planowałem, ale co gdy użytkownik ktoś coś zmieni, ktoś dopisze coś do postu?
Ludvik
Standardowo robi się to chyba tak:

Zapisujesz użytkownikowi datę ostatniej aktywności w tabeli, pobierasz listę wszystkich tematów/postów, które od tamtej chwili uległy zmianie/zostały stworzone. Wszystko zapisujesz w tablicy w sesji. Co wywołanie dowolnej strony uaktualniasz datę ostatniej aktywności. Przy wyświetlaniu tematów/postów sprawdzasz czy znajduje się konkretny temat w tej tabeli... Jeżeli tak, to nie był przeczytany, oznaczasz to jakoś... Po przeczytaniu usuwasz identyfikator tematu/posta z tablicy.

Co przy dużej ilości postów? No cóż... duża aplikacja = duże wymagania sprzętowe, ale nie jest przecież tak źle.

Problem pojawia się, kiedy chcesz przenosić pomiędzy sesjami wszystkie te dane... Ogólnie nie jest to najlepsze rozwiązanie. Prowadzi to do gromadzenia się olbrzymiej liczby nieprzeczytanych tematów/postów, które nas po prostu nie interesują... Nie polecam.

Nie jest to super dokładna metoda, ale nie znam nic lepszego, a to się w miarę sprawdza.
Aztech
Ludvik Myślę, że w moim projekcie to rozwiązanie sprawdziłoby się (przyrost liczny postów (szacowany) nei byłby na tyle duży, zeby był zaśmiecany przez niewartościowe (nieinteresujące nas posty).
Aczkowliek czekam na jakieś inne podpowiedzi smile.gif
Za dotychczasowe wypowiedzi serdecznie dziękuję
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.