计算在线实时玩家数

问题描述 投票:1回答:2

我有一个可玩的客户端,我想在索引页面上显示/显示我的在线用户。在我的数据库中,我有表设置,在那两行中设置和价值。例如players.online的值是0,根据每个数字计算在线人数。但是,这并不算数。计数器保持在0。

function onlineusers(){
    $link = mysqli_connect("xxx", "xxx", "xxx" "`xxx");
    mysqli_query($link, "SELECT value FROM settings WHERE value = 'players.online'");
    $i = 0;
    while($b = mysqli_fetch_array($link)){
        if(onlineusers($b['players.online'])){
            $i++;
        }
    }
    return $i;
}
php database counting
2个回答
4
投票

您可以计算DB中的行数并返回它。

function onlineusers(){
    $link = mysqli_connect("xxx", "xxx", "xxx" "`xxx");
    $result = mysqli_query($link, "SELECT count(*) as total FROM settings WHERE value = 'players.online'");

    $data=mysql_fetch_assoc($result);
    return $data['total'];
}

1
投票

应该能够仅在查询中运行COUNT()而不是在PHP中对其进行计数。

SELECT COUNT(*) as NumOnline FROM settings WHERE value = 'players.online';
© www.soinside.com 2019 - 2024. All rights reserved.