PHP だけで自分のサイトのユーザー オンライン ページを作成しようとしています。ページにアクセスするたびに(example: )lastactive
として更新されるというテーブル列があります。DATE/TIME
2014-12-13 21:04:15
ここで、Users Online ページに、現在の時刻の過去 10 分間にアクティブだったすべてのユーザーを表示したいと考えています。もしそうなら、10pm
アクティブなユーザーを表示したいと思います9:50pm-10pm
。
以前の StackOverflow の質問 (今は見つけられません) を見つけたので、いくつかのヒントが得られたので、それを試してみたところ、次のようになりました。
$timequery = mysqli_query($con,"SELECT times.lastactive FROM times WHERE lastactive >= NOW() - INTERVAL 10 MINUTE ORDER BY lastactive");
と
$whoisloggedin = mysqli_query($con,"SELECT username FROM users LEFT JOIN times ON times.id=users.id WHERE lastloggedin >= NOW() - INTERVAL 10 MINUTE ORDER BY lastloggedin");
しかし、これはすべてのユーザーを表示するだけです。これが私がユーザーに表示するために使用するものです
echo "Shows all active players from the last 10 minutes.";
while ($row = mysqli_fetch_assoc($timequery)) {
$row2 = mysqli_fetch_array($whoisloggedin);
$usersArray2 = $row2['username'];
echo $usersArray2;
}