Mysql
 sql >> Database >  >> RDS >> Mysql

In che modo i forum mostrano gli argomenti non letti?

Il più semplice il modo è tenere traccia dell'ultima volta che qualcuno ha effettuato l'accesso. Quando tornano a visitare, tutto ciò che è stato aggiornato da allora è ovviamente "nuovo".

Tuttavia, questo presenta alcuni problemi, poiché la disconnessione contrassegna tutti gli elementi come letti.

L'unico altro modo in cui potrei pensare di farlo sarebbe mantenere una tabella contenente tutti i thread e l'ultimo post in quel thread che ogni utente ha visto.

user_id   thread_id   post_id
      1           5        15
      1           6        19

Con queste informazioni, se c'è un post nel thread n. 5 che ha un ID maggiore di 15, allora sai che ci sono post non letti lì. Aggiorna questa tabella solo con il post_id dell'ultimo post su quella pagina . Ciò significa che se ci sono 3 pagine di nuovi post e l'utente visualizza solo il primo, saprà comunque che ci sono post non letti.