Aztech
13.12.2005, 23:10:22
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.
a) dodaj do usera kolumne gdzie bedzie zapisywane id przyczeytanych postow

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
14.12.2005, 22:20:31
ad a) to całkowicie odpada, wyobraż sobie że np postów jest 100? jak chesz to rozwiązać tym sposobem?
ad

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
14.12.2005, 23:42:35
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
15.12.2005, 02:56:05
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
Za dotychczasowe wypowiedzi serdecznie dziękuję