1

当日の通知viewで、更新テーブルの列を使用しました。これview = 1は、else を表示すると更新されますview = 0。ただし、特定の更新について多くのユーザーに通知する場合、ユーザーが最初に表示した場合は機能しません。

そのため、updateview という名前の新しいテーブルを作成して、表示した post_id と user_id を保存します。(ここpost_idに更新テーブルがありますid

ユーザーが更新を表示した場合、すべての更新が格納された更新テーブルと、更新テーブル ID とユーザー ID が格納された updateview テーブル。つまり、ユーザーが通知ドロップダウン メニューから投稿を表示すると、updateview テーブルが ID とユーザー ID を挿入します。

idupdateview になかったすべての更新テーブルを選択するための SELECT ステートメントの作成方法post_id

これが私の更新テーブルです:[外部キーなし、id(AI)]

id | work_id | from_id | to_id | date

updateview テーブル: [外部キーなし、id(AI)]

id | post_id | user_id

以下の 3 番目のクエリでは、ユーザー フォロワー、ファン ページに関連する更新テーブルからすべての 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....
}
4

1 に答える 1

0

トライcount()機能

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