Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> nieprzeczytane posty na forum..., w jaki sposób myśleć?
bogdan89
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


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

Ten post edytował bogdan89 15.10.2006, 20:00:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
macek
post
Post #2





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 17.08.2006
Skąd: łódź

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


szczerze to nie chciało mi się czytać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ale nie o to chodzi (IMG:http://forum.php.pl/style_emoticons/default/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ł ' (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) a dalej to już z górki (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
bogdan89
post
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


Cytat(macek @ 17.10.2006, 22:44:01 ) *
szczerze to nie chciało mi się czytać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ale nie o to chodzi (IMG:http://forum.php.pl/style_emoticons/default/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ł ' (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) a dalej to już z górki (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
(nie bardzo sie znam na IPB)
Go to the top of the page
+Quote Post

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: 23.08.2025 - 22:21