如何选择用户尚未查看的ID

时间:2015-08-07 11:18:52

标签: php mysqli mysqli-multi-query

在我当前的通知中,我在更新表中使用了view列,如果查看了其他view = 1则更新view = 0。但是,如果针对特定更新为许多用户发出通知,则如果用户首先查看,则无法正常工作。

因此,我将名为updateview的新表创建为存储的post_id&查看过的user_id。 (此处post_id是更新表的id

我的更新表,其中存储了所有更新,以及在用户查看任何更新时存储更新表ID和用户ID的updateview表。这意味着更新视图表插入id&用户从通知下拉菜单中查看任何帖子时的userID。

如何为selectview id 中没有选择的所有更新表 post_id 创建SELECT语句。

这是我的更新表:[无外键,id(AI)]

id | work_id | from_id | to_id | date

updateview table:[没有外键,id(AI)]

id | post_id | user_id

下面我的第三个查询选择更新表中与用户关注者,粉丝页面相关的所有ID。在这里,我想减少在updateview表中找到的id。

查询1:获取所有关注者ID并返回:$f2_ids[] = $row['follow'];

查询2:获取所有喜欢的粉丝页面ID并返回:$pg_ids[] = $row['userid'];

查询3:

foreach((array)$f2_ids as $indx => $value) {

$myid = $session->id;

    $g = mysqli_query($db,"SELECT id FROM update WHERE 
        `to_id`='".$myid."' AND `from_id`='".$f2_ids[$indx]."' OR
        `to_id`='".$f2_ids[$indx]."' AND `from_id`='".$myid."' OR
        `to_id`='".$pg_ids[$indx]."' OR 
        `from_id`='".$pg_ids[$indx]."' AND `to_id`='0' GROUP BY id") or
        die(mysqli_error($db));
        $count = mysqli_num_rows($g); 
    //etc... do something....
}

1 个答案:

答案 0 :(得分:0)

尝试count()功能

$count = count($g);