为了账号安全,请及时绑定邮箱和手机立即绑定

PHP/mysql:通过点击对用户进行排名

PHP/mysql:通过点击对用户进行排名

PHP
慕斯709654 2022-06-11 10:04:52
所以我想通过点击对用户进行排名,这是我的代码:<!DOCTYPE html><html><head><title>User ranking</title></head><body><table style="width:100%">  <tr>    <th>Rank</th>    <th>User</th>     <th>clicks</th>  </tr>  <tr>    <td></td>    <td>    <?php    $servername = "localhost";    $username = "...";    $password = "...";    $dbname = "...";    // Create connection    $conn = new mysqli($servername, $username, $password, $dbname);    // Check connection    if ($conn->connect_error) {        die("Connection failed: " . $conn->connect_error);    }    $sql = "SELECT DISTINCT  id, user FROM users";    $result = $conn->query($sql);    if ($result->num_rows > 0) {        // output data of each row        while($row = $result->fetch_assoc()) {            echo $row["user"]. "<br>";        }    } else {        echo "0 results";    }    $conn->close();    ?>    </td>    <td></td>  </tr></table></body></html>但这是我的问题:“用户”列有重复的用户,在表中我只想将唯一用户计为“用户”,你注意到我没有在 php 代码中提到“点击”,因为我没有点击数据库中的列...所以这就是我想要计算点击次数的方式:正如我所说的“用户”列有重复的用户,我想计算用户名重复的次数并对其进行排名。例如:用户 John X3 和 Dan X2 在数据库中我想计算 John 和 Dan 重复的次数,因为 John 是 3 次 John 排名第一,而 Dan 应该排名第二这里还有另一个问题:数据库每 24 小时重置一次,因此所有数据每 24 小时消失一次。如何解决?如何永久显示数据库数据,我的意思是显示数据库数据,然后在 24 小时后保持增加...我不知道这是否有用:数据库有“Id”列并且它不会重置例如 3 次 John 在数据库中,'John with id 1''john with id 2'和'john id 为 3'。用过JS没问题。顺便说一句,我是初学者,我试图这样做……我花了大约 7 个小时,但每次尝试都失败了。
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

所以这就是我想要计算点击次数的方式:正如我所说的“用户”列有重复的用户,我想计算用户名重复的次数并对其进行排名。

你想要聚合:

select user, count(*) clicks from users group by user order by clicks desc


查看完整回答
反对 回复 2022-06-11
  • 1 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信