Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: nieprzeczytane posty na forum...
Forum PHP.pl > Forum > PHP
bogdan89
Witam...
mam taki problem:

napisałem prosty skrypt forum

mam tabele w bazie danych:
- users
- posts
- topics

chcialbym do tego dodac funkcję "zaznaczania nieprzeczytanych postów", ale zupełnie nie mam pojęcia jak się do tego zabrać...

wymyśliłem coś takiego:
1 ) tworzę nową tabelę w bazie danych
2 ) przy logowaniu gościa sprawdzam ostatnią datę jego aktywnosci oraz zapisuje do tej nowej tabeli w bazie danych wszystkie numerki ID tematów w których są jakieś posty starsze od daty tej ostatniej aktywnosci... (ostatnia aktywnosc rozwiązałem w ten sposób, ze jesli user jest zalogowany to przy kazdym przeładowaniu strony zapisuje do bazy danych aktuany czas...)
3 ) gdy wchodzę na stronkę wybranego, nieprzeczytanego tematu usuwam ten zapisany rekord...

mam nadzieję ze to co opisałem jest w miare zrozumiałe,
powiedzcie mi czy dobrze z tym kombinuje...
pozdrawiam
macek
szczerze to nie chciało mi się czytać winksmiley.jpg ale nie o to chodzi smile.gif
nowa tabela ( `idPrzeczytany`, `idUser`, `idPost` ) , przy wejściu w temat pakujesz do bazy id wszytskich postów z tego tematu i id zalogowanego gośia i masz w bazie wszystkie które 'przeczytał ' winksmiley.jpg a dalej to już z górki winksmiley.jpg
bogdan89
Cytat(macek @ 17.10.2006, 22:44:01 ) *
szczerze to nie chciało mi się czytać winksmiley.jpg ale nie o to chodzi smile.gif
nowa tabela ( `idPrzeczytany`, `idUser`, `idPost` ) , przy wejściu w temat pakujesz do bazy id wszytskich postów z tego tematu i id zalogowanego gośia i masz w bazie wszystkie które 'przeczytał ' winksmiley.jpg a dalej to już z górki winksmiley.jpg



no dobra...ale jeśli zrobiłbym to tak jak mówisz, to w tej tabeli miałbym ogromną ilość rekordow po jakimś czasie, a dokłądnie = wszystkie_posty * ilosc_userow

a po co to?
jeśli można po prostu dodać do bazy tylko te posty które są napisane później niż ostatnia aktywność usera, a przy czytaniu tego tematu po prostu je z tej tabeli usunąć...
plusy: baza danych nie jest zaśmiecona
minusy: troche spowalnia to działanie strony, wykonywana jest duza ilosc zapytan do bazy...

a powiedzcie mi, jak skonstruowana jest ta funkcja np. na tym forum smile.gif
(nie bardzo sie znam na IPB)
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.