我有一个公告页面。如果用户看到通知,则在announcements_seen
表中插入用户的用户ID,通告的公告ID和日期。如果在该表中未找到通告ID和用户ID,则当前登录的用户将在他访问的每个页面上获得警报,称他是新的通告。
页面加载后,我可以在表格中插入数据(用户ID,公告ID和日期),以便警报消失,因为没有“未读”的公告。但是,它无法正常工作。仅当我的a_uid
列具有当前用户的用户ID,并且a_aid
列具有所有公告的公告ID时,它才会起作用,以便在我的表格中标记为已读。
我的表格中没有公告ID和用户ID,然后它会显示警告。
问题:每当新用户注册并查看公告时,他的用户ID和公告ID也会发布在数据库中。但是,即使用户已经查看了所有公告,用户1也看到他有待处理的公告。如果我将第二个用户的uid从表更改为第一个用户uid,则用户1没有问题。
很抱歉,如果这很难解释。
我的代码:
//check for unread anouncemnts
$this->db->from('announcements_seen');
$this->db->join('announcements', 'announcements.aid = announcements_seen.a_aid', 'right' );
$this->db->where('aid !=', 1);
$this->db->where('a_uid ', NULL);
$this->db->or_where('a_uid !=', $uid);
$announcements_query = $this->db->get();
if ($announcements_query->num_rows() > 0) {
//show alert
}