let me be a little more specific. I assume you have a users table. you also should have a message table with things like messageid, body, title etc. what I think is the best way to do this is to incorporate a thrid table: a cross table between users and messages that also has a status field. This way, you can use a join when you call up the message, to determine whether or not the message has been read by that user. If you try and keep this information in the message table, it is going to be nuts.
your query in this structure would be something like:
select m.title,m.body,m.messageid,x.status from messages m,crosstable x where m.messageid=x.messageid and x.user='$currentuser' and messageid='$currentmessage';