在我的总活动计数通知中,我创建如下所述,但无法按照我的意愿显示正确的结果。请参阅下面的代码,并在代码底部描述了我的问题。
我的代码详情如下:
我找到了所有关注者和关注者ID,(进入下表)。
然后使用上面的ID,我会找出这些ID所做的所有活动,(进入更新表)。
一个。在我的通知下拉列表中,如果我看到任何活动并将其悬停,我的javascript代码会使其成为view = 1.否则view = 0是我的默认值。
湾如果查看一次,我的代码会从总计数中扣除总观看次数。
在我的第一个查询中,我使用我的ID来查找我的所有关注者和关注者,这也显示了我自己的活动。所以我在这里提出另一个查询,以找出我从总计数中扣除它的所有活动。
那就是全部;这是我的代码:
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'。
答案 0 :(得分:2)
您想要计算所有ID,但查询明确将结果限制为特定ID:id='".$id."'".