Strona 1 z 1
[php] nieczytane posty / artykuły
: śr lip 04, 2007 4:06 pm
autor: Louner
Witam
Szukam podpowiedzi dotyczącej sposobu wykonania czegoś takiego jak nieczytane posty , czy artykuły.

Zastanawiam się jak oznaczać takie rzeczy, kiedy korzystam z bazy danych mysql. W sumie możnaby dodawać z każdym nowym artykułem 1 rekord na użytkownika który mówi, czy ten został przeczytany, czy też nie, ale to wg mnie zbyt mocno obciążałoby stronę, bo wystarczyłoby 100 userów i próba dodania 10 postów / artykułów skończyłaby się wpisaniem do bazy 1000 rekordów.
Zastanawiałem się też nad wykonaniem tego na plikach, ale to też powodowałoby sytuacje podobną do opisanej wyżej.
Bardzo proszę o podpowiedź, jak mogę wykonać skrypt sprawdzający czy dany artykuł / post jest przeczytany przez użytkownika?
Pozdrawiam
Re: [php] nieczytane posty / artykuły
: pn lip 09, 2007 3:24 pm
autor: atom
Jeśli nie chcesz obciążać serwera, może informację o tym co zostało przeczytane, a co nie, umieścisz po stronie klienta - w cookie. Dużym minusem tego rozwiązania jest to że jeśli użytkownik skorzysta w innego komputera, informacja o tym jaki artykuł przeczytał, będzie niedostępna.
Re: [php] nieczytane posty / artykuły
: wt lip 10, 2007 4:25 pm
autor: ooo_michal
Najlżejsze dla serwera będzie porównanie daty i godziny ostatniego wylogowania użytkownika z datą dodania newsa. Rozwiązanie ma sporo wad ale jest bardzo proste i można je szybko wykonać. A jeśli doda się do tego rozwiązanie z cookie to narzędzie będzie i proste, i dosyć dokładne.
Re: [php] nieczytane posty / artykuły
: śr lip 11, 2007 2:54 pm
autor: Chmura
informacje o przeczytanych postach dodawać do ciasteczka, podczas wylogowania wartość spisać do pliku lub bazy. Jedyny minus: gdy użytkownik się nie wyloguje dane nie zostaną zapisane (zawsze można użytkownika informować przy wyłączeniu przeglądarki ze się nie wylogował )
EDIT:
Kolega zaproponował:
"Zrób dla każdego konta kolumnę z listą artykułów odwiedzonych i rozdziel średnikami, przy odczytywaniu explode i sprawdzaj co przeczytane a co nie"
Re: [php] nieczytane posty / artykuły
: śr lip 18, 2007 3:20 pm
autor: Louner
Zrobiłem to tak:
Dodałem w bazie tabelę z użytkownikami online. Kiedy user wchodzi na stronę, skrypt sprawdza wpisy w tabeli z userami online i wywala wszystkie starsze niż 300 sekund, przy okazji zaznacza w ich profilach czas ostatniej wizyty jako moment wyrzucenia z listy online.
Jako nowe artykuły na wstępie zaznaczane są te, które zostały dodane ( lub skomentowane ) po czasie ostatniej wizyty usera.
Tabelę userów poszerzyłem o kolumnę 'czytane_artykuly'. Kiedy user wchodzi do artyukułu i jest on nieczytany, informacja o tym zapisywana jest do tabeli:
[php]<?php
$czytane_arty[$id_artykulu][$data_wejscia];
?>[/php]
Data wejścia jest dodana z uwagi na komentarze. Jeśli ktoś skomentował artykuł po czasie zapisanym w tabeli znowu jest nieprzeczytany.
Tabelke od razu zapisuję do bazy w formie: [php]<?php
serialize($czytane_arty)
?>[/php], a odczytuję: [php]<?php
unserialize($czytane_arty)
?>[/php]
Kiedy user jest wymazywany z listy online, czyszczę pole 'czytane_artykuly' w bazie.
Jak na razie wszystko działa ok i przy okazji mam bajerek w postaci listy userów online.

Dziękuję za odpowiedzi i pozdrawiam.
Louner