计算粉丝数量并打印PHP

时间:2014-08-29 02:24:56

标签: php

我的BD中有这个:

以下:12,13,2,4(这是以下一个用户列表的用户ID)

我想知道有多少关注者拥有一个用户。

我有这段代码:

  $followers = $db->fetch_field($db->simple_select('users', 'COUNT(*) AS followers' , "buddylist IN ($useruid) "), 'followers');
  $Followers = $followers;

仅当列表的第一个数字与$ useruid相同时才有效。 例如:

$ useruid = 1, buddylist = 3,2,1

$followers = $db->fetch_field($db->simple_select('users', 'COUNT(*) AS followers' , "buddylist IN ($useruid) "), 'followers');
      $Followers = $followers;

out out it 0

如果buddylist是1,2,3

输出是一个。

出了什么问题? :(

2 个答案:

答案 0 :(得分:0)

您可以使用FIND_IN_SET()代替IN(),因为IN会在一组结构化字段中查找您比较的字符串,而您的字段是逗号分隔的ID字符串。 FIND_IN_SET()将在该字符串中查看:

$followers = $db->fetch_field(
    $db->simple_select(
        'users',
        'COUNT(*) AS followers',
        "FIND_IN_SET($useruid, buddylist)"
    ),
    'followers'
);

See this related question.

答案 1 :(得分:-1)

很难说不知道你的数据库内容。

我想你的$ useruid中的用户是数组

通过`implode(',',$ useruid)`将数组转换为字符串,并在mysql statment之前替换$ useruid

一切都应该可以正常工作