sql >> Database >  >> RDS >> Mysql

Hoe tonen forums u ongelezen onderwerpen?

De eenvoudigste manier is om bij te houden wanneer iemand voor het laatst was ingelogd. Als ze terugkomen, is alles wat sindsdien is bijgewerkt duidelijk "nieuw".

Dit heeft echter enkele problemen, aangezien uitloggen effectief alle items als gelezen markeert.

De enige andere manier die ik zou kunnen bedenken om het te doen, zou zijn om een ​​tabel bij te houden met alle threads en de laatste post in die thread die elke gebruiker heeft gezien.

user_id   thread_id   post_id
      1           5        15
      1           6        19

Met die informatie, als er een bericht in thread #5 is met een ID groter dan 15, dan weet je dat er ongelezen berichten zijn. Werk deze tabel alleen bij met de post_id van de laatste post op die pagina . Dit betekent dat als er 3 pagina's met nieuwe berichten zijn en de gebruiker alleen de eerste bekijkt, hij nog steeds weet dat er ongelezen berichten zijn.



  1. MySQL onjuist geconfigureerd Reden:onveilig gebruik van relatief pad

  2. php waarschuwing mysql_fetch_assoc

  3. Een index maken op een tijdstempel om de query te optimaliseren

  4. Selecteer Query om rijen op te halen in MySQL