2011-06-14 2 views
1

코드 igntier 사이트에 연결하는 자체 기본 포럼을 작성하는 중입니다. 나는 스레드/최신 게시물을 사용자가 읽지 않은 채로 표시하는 방법에 조금 갇혀있다.사용자가 읽지 않은 스레드 또는 게시물을 표시합니다.

방문한 각 thread_id를 보유하고있는 테이블을 생각하고 있었지만이 테이블은 다소 커질 가능성이 있습니다.

어떻게하면이 요구 사항에 접근 할 수 있습니까?

답변

2

간단한 아이디어 : 사용자가 site/forum/subforum을 마지막으로 방문한 날짜를 기록하십시오. 원하는만큼 스레드 또는 하위 포럼만큼 세분화 될 수 있습니다. Cookie에이 키 - 값 쌍인 thread_idlast_visit_date을 생성/업데이트 할 수 있습니다. 아마도 이것을 RDBMS가 아닌 쿠키에 저장하십시오. 이 미션 크리티컬 한 데이터 또는 데이터 손실을 견딜 수있는 중요한 기능인지 묻습니다.

사용자가 돌아 오면 이 포럼의 last_visit_date보다 큰 모든 스레드/게시물을 찾습니다.

포럼 (스레드 목록)을 방문하는 행위가 '보기'와 동일하다고 가정합니다. 정보가 제공되었다고 가정하면 실제로 스레드를 뚫었는지 여부에 관계없이 스레드 제목을 '보았습니다'.

+0

+1 멋진 캠벨 – afarazit

0

가장 쉬운 방법은 사용자의 마지막 방문 시간 및 쿠키 게시물을 보관하는 것일뿐입니다. 정확히 모든 읽기 스레드를 얻지는 못하지만 대부분의 포럼은 이런 식으로 작동하는 것 같습니다. 그렇지 않으면 모든 읽기 스레드를 어딘가에 저장해야합니다.

+0

사용자가 쿠키를 삭제하는 이유는 무엇입니까? 사용자가 마지막으로 사이트에 액세스 할 때 데이터베이스에 기록을 유지하는 것이 좋습니다. – afarazit

+0

물론 DB에 저장하는 것이 더 좋으며 어젯밤 너무 피곤했습니다. ;-) 내가 표현하려고했던 것은 다소 p.campbells 씨의 방향이었다. 사용자가 방문하는 모든 스레드를 기록하지 않고 방문과 동일한 시각을 보입니다. 이 방법으로 더 관리하기 쉽습니다. – jannej

0

사용자의 크기와 생성 된 스레드/게시물의 수에 따라 증가하기 때문에 생각한 것처럼 실제로 스레드 ID를 기록하는 테이블을 만들 필요가 없다고 생각합니다. 마지막 방문 이후에 작성된 스레드 또는 게시물을 읽지 않은 상태로 표시 할 수 있습니다. 나는 내가 할 일이 그렇게 생각한다.