Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MSSQL][PHP]Forum nieprzeczytane tematy i posty
ZuyPan
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 4
Dołączył: 4.02.2010

Ostrzeżenie: (0%)
-----


Witam.
Od dawna męczy mnie to zagadnienie i jakoś nie potrafię z nim sobie poradzić... Jak rozwiązać problem nowych (nieprzeczytanych) postów i tematów? dla użytkowników?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ZuyPan
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 4
Dołączył: 4.02.2010

Ostrzeżenie: (0%)
-----


Cytat(thek @ 11.02.2010, 18:42:16 ) *
A razy liczba 10k userów (wątpię czy tyle Twoje forum osiągnie)

dzięki za wiarę (IMG:style_emoticons/default/tongue.gif)

Cytat(thek @ 11.02.2010, 16:26:18 ) *
Pierwsze zalogowanie usera to stworzenie mu X rekordów z najnowszymi postami. Potem musisz tę tabelę kontrolować. Wejście na dany temat to usunięcie postów z tego tematu jako "przeczytanych". Problemem jest wyłapywanie postów pojawiających się pomiędzy akcjami usera. Musisz bowiem kontrolować czasy tych akcji i na bieżąco korygować wszystko. Dlatego w sesji i/lub danych usera musisz te informacje przechowywać by móc na nich opierać swoje działania. Przykładowo user sobie coś robi na stronie, ale Ty musisz wiedzieć kiedy ostatnio robił coś na forum, bo tylko taka dana Cię interesuje. Jeśli wszedł na forum... Zapisz ten czas. Gdy przejdzie na inna stronę forum -> dopisz posty powstałe od czasu ostatniej aktywności na forum do tej jego "tabeli" i zapisz czas kiedy to zrobiłeś w jego danych. On forum czyta to odejmujesz przeczytane posty ale jednocześnie sprawdzasz czy nie ma nic nowego.
Sprawa więc wygląda tak, że przy każdym przejściu WEWNĄTRZ struktury forum pobierasz wszystkie posty od momentu ostatniej aktywności na forum, a czasem aktualnym i dokładasz je do tabelki, aktualizujesz zaraz po tym sprawdzeniu czas ostatniej bytności na czas aktualny. Wyjście z forum nie zmienia nic, ponieważ masz tabelę nieprzeczytanych postów i czas ostatniej aktywności forumowej. Wejście na dowolna stronę forum powoduje sprawdzenie czasu i dopisanie ewentualnych nowych postów do tabeli oraz aktualizację tego czasu. Jesteś wtedy na bieżąco z postami. Jeszcze tylko musisz kontrolować liczbę tych postów by w razie przekroczenia X usuwać najstarsze.


troszkę to skomplikowane i nie jestem pewien, czy wszystko dokładnie rozumie...

Cytat(pablo89pl @ 11.02.2010, 16:28:30 ) *
Najprościej to robisz sobei w bazie SQL tabele viewed z polami: id, user_id, post_id

I sprawdzasz czy dla usera z id X, istnieje rekord dla postu z id Y
Jak tak to znaczy że juz ogladal tego posta


Ten sposób wydaje mi się najprostszy jednak nie wiem czy wybrać ten czy proponowany przez Thek'a...

Thek jeśli mógłbyś troszkę bardziej łopatologicznie? (IMG:style_emoticons/default/biggrin.gif)

Pozdrawiam i dziękuję za zainteresowanie (IMG:style_emoticons/default/smile.gif)

Ten post edytował ZuyPan 11.02.2010, 19:20:13
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 8.10.2025 - 18:34