Jeg ved ikke, om dette er den bedste måde at gøre dette på, men da jeg ikke fik nogen ideer fra nogen andre, er det, hvad jeg ville gøre. Jeg håber, at dette svar også kan hjælpe andre.
Vi har 2 borde
notification
-----------------
id (pk)
userid
notification_type (for complexity like notifications for pictures, videos, apps etc.)
notification
time
notificationsRead
--------------------
id (pk) (i dont think this field is required, anyways)
lasttime_read
userid
Ideen er at vælge notifikationer fra notifikationstabellen og tilslutte sig notificationsRead-tabellen og kontrollere den sidst læste notifikation og rækker med ID> notificationid. Og hver gang notifikationssiden åbnes, opdatere rækken fra notificationsRead-tabellen.
Forespørgslen efter ulæste notifikationer, tror jeg ville være sådan her..
SELECT `userid`, `notification`, `time` from `notifications` `notificationsRead`
WHERE
`notifications`.`userid` IN ( ... query to get a list of friends ...)
AND
(`notifications`.`time` > (
SELECT `notificationsRead`.`lasttime_read` FROM `notificationsRead`
WHERE `notificationsRead`.`userid` = ...$userid...
))
Forespørgslen ovenfor er ikke kontrolleret.Takket være ideen om db design fra @espais