我一直在创建用户在线页面,我所做的是在用户登录时将其设置为,他们在数据库中有一个名为“Loggedin”的列,其更改为“yes”。当用户注销时,该列将更改为“no”。一切都很好。
我想要做的是列出“已登录”设置为“是”的用户数量。我知道这很简单,因为我以前做过但我记不起来了!
我记得我必须加入表并获得像这样的行
$whoisloggedin = mysqli_query($con,"SELECT loggedin,username FROM stats LEFT JOIN users ON stats.id=users.id WHERE loggedin='yes'");
$howmany = mysqli_num_rows($whoisloggedin);
echo $howmany;
但是如何列出具有与登录为“是”相同ID的用户名?
对不起,如果我措辞严厉!
编辑 - “echo $ howmany”返回正确的数量为1,因为我是唯一登录本地服务器的人
修改
完整代码
<?php
include("header.php");
include("connect.php");
$whoisloggedin = mysqli_query($con,"SELECT loggedin,username FROM stats LEFT JOIN users ON stats.id=users.id WHERE loggedin='yes'");
$howmany = mysqli_num_rows($whoisloggedin);
echo $howmany,"<br>";
while ($row = mysqli_fetch_assoc($whoisloggedin) ) {
$test = $row['username'];
echo $test,"<br>";
}
include ("footer.php");
?>
它显示:
4 (the amount of users with "Loggedin" set to "yes"
Kenazz (my username)
所以它只与我的回声:(
答案 0 :(得分:0)
很简单。
while ($row = $whoisloggedin->fetch_assoc() ) {
$usersArray[] = $row['username'];
}
然后使用usersArray执行您想要的操作
答案 1 :(得分:0)
试试这个,它应该有效。当桌子只有1时,我不知道你是谁。
$whoisloggedin = mysqli_query($con,"SELECT loggedin,username FROM stats WHERE loggedin='yes'");
$howmany = mysqli_num_rows($whoisloggedin);
echo $howmany;
答案 2 :(得分:0)
最终答案
while ($row = mysqli_fetch_assoc($whoisloggedin) ) {
$usersArray = $row['username'];
echo '<pre>';
print_r ($usersArray);
echo '</pre>';
}
从之前的stackoverflow问题中找到:)