PHP + MySQL - 按照LIKES排序

时间:2017-10-16 21:29:28

标签: php mysql

所以我使用mysql在Minecraft Server Pages上存储喜欢的内容作为他们做广告的方式。但是,我将这些内容存储在一个单独的表中:

id user_id server_id
 1       1         1
 2       1        24
 4       2        22
 5       2        22
 6       2         1 
 7       2         4
 8       2         5
 9       2         6
10       2        17
11       2        18
12       2        21
13       2        24

插入代码:

INSERT INTO likes (user_id, server_id) VALUES ('".$user_id."', '".$server_id."');

但我目前正按照添加日期(最近的第一个)对它们进行排序,但我想知道如何按喜欢对它们进行排序。

1 个答案:

答案 0 :(得分:-3)

你应该在你的服务器表上放一个计数器列(比如说:likes_counter),然后,每当你向likes表添加一个类似的列时,你就增加这个计数器。在该列上放一个索引!

INSERT INTO likes (user_id, server_id) VALUES ('".$user_id."', '".$server_id."');
UPDATE servers_table SET likes_counter = likes_counter+1 WHERE server_id = '".$server_id."';

现在,当您选择服务器时,您只需按照选择:

进行排序
SELECT * FROM servers_table ORDER BY likes_counter DESC;

这里我假设您的服务器表名为servers_table,将其替换为您为表提供的名称。