您好,今天我正在尝试使用PDO for MySQL创建PHP.我希望创建一个系统,告诉我今天有多少人登录我的网站.我已经成功地做了我要问的事情,但是我想要在代码中实现一个额外的功能,使它比以前更好.
码:
<?PHP //Gets how many users have logged in today
$res = $pdo->query("SELECT COUNT(*) FROM `user_logins` WHERE `Login_Timestamp` > CURRENT_DATE");
echo $res->fetchColumn();
?>
这是我在数据库中的表的结构
表名:user_logins
列:
Id (example: 1)
Login_Username (example: John)
Login_Timestamp (example: 2015-09-13 17:13:38)
Login_Ip (example: 127.0.0.1)
我想仍然加载当前值的数量以获得今天登录的数量,但我只想计算一次IP,目前我有五个值,这些值都是我整天都在使用的IP,但我只是我希望将我标记为1,而不是我登录的次数,每次只需一次.如果我不这样做,它有可能达到很多……有没有办法做到这一点?
解决方法:
您可以使用distinct关键字:
SELECT COUNT(disTINCT Login_Ip)
FROM `user_logins`
WHERE `Login_Timestamp` > CURRENT_DATE