1

在我当前的通知中,我使用了view更新表中的一列,view = 1如果查看其他内容,该列会更新view = 0。但是,如果要为许多用户发出特定更新的通知,如果用户先查看,它就无法工作。

因此,我创建了名为 updateview 的新表来存储查看的 post_id 和 user_id。(这里post_id是更新表的id

我存储所有更新的更新表和存储更新表 ID 和用户 ID(如果用户查看任何更新)的更新视图表。这意味着当用户从通知下拉菜单查看任何帖子时,updateview 表插入 id 和 userID。

如何为选择id不在 updateview 中的所有更新表创建 SELECT 语句post_id

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

id | work_id | from_id | to_id | date

updateview 表:[无外键,id(AI)]

id | post_id | user_id

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

查询1:获取所有follower 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....
}
4

1 回答 1

0

试用count()功能

$count = count($g); 
于 2015-08-07T11:24:02.067 回答