PHP喜欢系统/'最喜欢'(需要逻辑)

时间:2017-02-22 20:00:22

标签: php mysql

我正在尝试创建一个基本的评论系统,我很成功,但我现在遇到了问题。

我无法列出“最喜欢的”评论,我也不知道我该怎么做。

我的投票数据库显示如下:

voteid  | value     | entryid   | userid
25      | like      | 257       | 17
24      | like      | 257       | 17
23      | unlike    | 257       | 18

我用这段代码创建了一个新的:

    $vote = $connect->prepare("INSERT INTO votes (entryid, userid, value) VALUES (:entryid, :userid, :value)");
    $vote->bindParam(':entryid', $entryid);
    $vote->bindParam(':userid', $userid);
    $vote->bindParam(':value', $value);
    $vote->execute();

我的问题。

我的SQL查询 是什么?

我试过这样:

  $bestliked = $connect->prepare("SELECT * FROM votes");
  $best = $bestliked->fetchAll(PDO::FETCH_GROUP|PDO::FETCH_COLUMN, 2);

但是我无法列出具有最多子阵列的数组。似乎只是;

[1] => Array
    (
        [0] => 8
        [1] => 2
        [2] => 3
        [3] => 4
        [4] => 5
        [5] => 6
        [6] => 7
        [7] => 9
        [8] => 10
        [9] => 11
        [10] => 12
        [11] => 13
        [12] => 14
        [13] => 15
    )

[2] => Array
    (
        [0] => 16
    )

[3] => Array
    (
        [0] => 17
    )

全部谢谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试对组计数求和并按降序排序:

  Select *,count(*) as sum group by entryid where value='like' order by sum desc