[英]How to show users online in PHP?
This code only shows "1 User(s) Online" no matter how many are online. 无论有多少在线用户,此代码仅显示“ 1个在线用户”。 How do I fix that?
我该如何解决?
<?php
$con = mysqli_connect($host, $username, $password , $database)
or die('Error connecting to MySQL server.');
$online = "1";
$query = "SELECT * FROM `users` WHERE online = '$online'";
$data = mysqli_query($con, $query);
$row = mysqli_fetch_array($data);
$online=$row['online'];
echo '<div id="online-me" class="mydiv3"><center><span id="stats">'.$online.' User(s) Online!</span> </center></div>';
?>
So with 所以用
$query = "SELECT * FROM `users` WHERE online = '$online'";
You are getting the row where online = 1
. 您将获得
online = 1
的行。 Then you set $online=$row['online'];
然后设置
$online=$row['online'];
which just sets $online
to 1
no matter what. 无论如何,它只会将
$online
设置$online
1
。
That should give you an idea of how to fix it. 那应该使您知道如何解决它。 Cheers!
干杯! Good luck!
祝好运!
use the count() of MySql also use mysqli_fetch_assoc instead of mysqli_fetch_array 使用MySql的count()还使用mysqli_fetch_assoc代替mysqli_fetch_array
something like this 像这样的东西
<?php
$con = mysqli_connect($host, $username, $password , $database)
or die('Error connecting to MySQL server.');
$online = "1";
$query = "SELECT count(id) as 'total' FROM `users` WHERE online = '$online'";
$data = mysqli_query($con, $query);
$row = mysqli_fetch_assoc($data);
$online=$row['total'];
echo '<div id="online-me" class="mydiv3"><center><span id="stats">'.$online.' User(s) Online!</span> </center></div>';
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.