我的php通知计数无法显示正确的结果

时间:2015-01-16 15:18:03

标签: php

在我的总活动计数通知中,我创建如下所述,但无法按照我的意愿显示正确的结果。请参阅下面的代码,并在代码底部描述了我的问题

我的代码详情如下:

  1. 我找到了所有关注者和关注者ID,(进入下表)。

  2. 然后使用上面的ID,我会找出这些ID所做的所有活动,(进入更新表)。

    一个。在我的通知下拉列表中,如果我看到任何活动并将其悬停,我的javascript代码会使其成为view = 1.否则view = 0是我的默认值。

    湾如果查看一次,我的代码会从总计数中扣除总观看次数。

  3. 在我的第一个查询中,我使用我的ID来查找我的所有关注者和关注者,这也显示了我自己的活动。所以我在这里提出另一个查询,以找出我从总计数中扣除它的所有活动。

  4. 那就是全部;这是我的代码:

    global $dbh;
    $myid = $session->id;
    
    //1.
    $q = mysqli_query($dbh,"SELECT * FROM follow WHERE friend_one='$myid' OR friend_two='$myid'") or die(mysqli_error($dbh));
    while ($row = mysqli_fetch_assoc($q)) {
    $f_id = $row['friend_one'];
    $f2_id = $row['friend_two'];
    
    //2.
    date_default_timezone_set('Asia/Dhaka');
    $timestamp = date("M j, y; g:i a", time() - 2592000);
    $g = mysqli_query($dbh,"SELECT id FROM update WHERE `from_id`='".$f_id."' OR `to_id`='".$f_id."' OR `from_id`='".$f2_id."' OR `to_id`='".$f2_id."' AND `view` = '0' AND `created` > '".$timestamp."'") or die(mysqli_error($dbh));
    while ($row = mysqli_fetch_assoc($g)) {
        $count1 = mysqli_num_rows($g);
            $id = $row['id'];
    
    //2.b
    $v = mysqli_query($dbh,"SELECT * FROM update WHERE `id`='".$id."' AND `view` = '1' AND `created` > '".$timestamp."'") or die(mysqli_error($dbh));
        $count2 = mysqli_num_rows($v);
    
    //3.
    $c = mysqli_query($dbh,"SELECT * FROM update WHERE `id`='".$id."' AND `from_id`='".$myid."' AND `created` > '".$timestamp."'") or die(mysqli_error($dbh));
        $count3 = mysqli_num_rows($c);
    
    // Total count
    $count = ($count1 - $count2 - $count3);
    
    echo '.$count.';
    

    问题 在我上面的脚本//2.b无法统计已经查看过的所有ID?它的计数总是只有'1'。

1 个答案:

答案 0 :(得分:2)

您想要计算所有ID,但查询明确将结果限制为特定ID:id='".$id."'".