Прочетена/непрочетена публикация

DownFall

Registered
Здравейте,

Някой може ли да ми обясни логиката на една такава система? По какъв начин да разбера коя публикация е прочетена от посетителя и коя не, както е във форумите? Наясно съм, че се запазва информацията в бисквитка при посетителя, но каква точно трябва да е организацията ми бяга тотално..
 
Правиш си едно поле към таблицата например active. По подразбиране му слагаш 0 и когато влезнеш в някоя тема правиш една update заявка и го правиш на 1.
Това е!
 
дам,това е най-удачния вариант.с бисквитки мисля,че ще е бъгаво...
 
Въпроса е, че искам за всеки потребител индивидуално да определям дали е прочетена публикацията или не. Ако го направя по този начин ще бъде глобално и в момента, в който някой прочете публикацията, тя ще бъде отбелязана като прочетена за всички. Не е това, което търся.. :)

Други предложения?
 
DownFall каза:
Въпроса е, че искам за всеки потребител индивидуално да определям дали е прочетена публикацията или не. Ако го направя по този начин ще бъде глобално и в момента, в който някой прочете публикацията, тя ще бъде отбелязана като прочетена за всички. Не е това, което търся.. :)

Други предложения?

Записвай в отделна таблица кой потребител е разгледал дадена новина пример или там к'вото искаш да се преразглежда и т'ва е. Тоест:

uid | view | nid ->
uid=user id - потребителско ID
view = по подразбиране да е 1, тоест разгледана
nid = news id - номер на новината

uid | view | nid
1 | 1 | 3
4 | 1 | 64
72 | 1 | 421


Първия потребител е прегледал новина номер 3, втория потребител с ID: 4 е преразгледал новина номер 64 , потребител с ID: 72 е преразгледал новина с номер 421.

После само си правиш проверка дали т'ва id на потребитела съществува в таблицата, ако не съществува - той е прочел тази новина.

Т'ва с тия бисквитки лично на мен хич не ми изнася - не знам 'що..
 
Така ще стане, да, НО е много разход на ресурс. Първоначално и аз реших да го правя така, но при примерно 2,000-3,000 потребителя и ~50,000 публикаций обема на база данните става.. Дали има по-практичен начин за реализация на същото?
 
Като се замисля полето view, може и да се премахне и кода да има същата функционалност. Колкото до въпроса ти не, не се сещам за друг вариант. Другия вариант май е, чрез бисквитките, НО никога не съм ги харесвал - тоест няма да мога да ти помогна с тях.

Можеш да погледнеш за Cookies тук; http://www.w3schools.com/php/php_cookies.asp


Успех.

ЕДИТ: Впрочем погледни и тази тема, може да ти помогне. http://web-tourist.net/forum/viewtopic.php?t=108362&highlight=%EF%F0%EE%F7%E5%F2%E5%ED%E0
 
Наясно съм как да боравя и с бисквитките, и със сесийте, мерси все пак за линковете. Смятам, че мога да го изградя кода и сам, проблема ми е в логиката :)
 
phpbb са го направили така. Когато влезнеш във форума създава бисквитка с всички мнения, които са били написани след последното ти посещение. След това просто когато се извеждат темите се прави проверка дали тази тема е в бисквитката и ако я има - показва като непрочетено. Надявам се да схвана горе-долу "логиката".
 

Back
Горе