Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 计算跟随者的数量并打印它_Php - Fatal编程技术网

Php 计算跟随者的数量并打印它

Php 计算跟随者的数量并打印它,php,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相同时,此

我的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;
这辆车熄火了

如果buddylist为1,2,3

输出为1


怎么了(

不知道数据库内容很难说

我假设$useruid中有用户作为数组

通过“内爆(',',$useruid)`将数组转换为字符串,并在mysql语句之前替换$useruid

所有这些都应该可以正常工作

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

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

您想要PHP解决方案吗?返回字符串,用逗号分解并计算位,否则SQL解决方案需要执行类似SQL或PHP的操作:)这是解决方案,谢谢!