通过Avg等级显示来自mysql db的项目-php

时间:2018-07-13 08:43:16

标签: php mysql average

我正在建立一个具有电影分级系统的电影数据库,我希望平均显示最受好评的电影。

这是我的数据库的结构:

表movies_ratings:id | movie_id(themoviedb api)|评分 桌电影:id | movie_id |标题|概述|流派|海报路径|受欢迎程度(themoviedb API)

我的型号有我的班级评分:

class Rating extends Connection {

public function rate($id, $value) {
$sql = 'INSERT INTO `movies_ratings` (`movie_id`, `rating`) VALUES(?, ?)';
$params = [$id, $value];
$req = $this->query($sql, $params);
}

public function avg($id) {
$sql = 'SELECT AVG(`rating`) AS avg FROM `movies_ratings` WHERE `movie_id` ='.$id;
$params = [$id];
return $req = $this->query($sql, $params, 'one');
}
}

我提供了按受欢迎程度显示电影的功能,并且可以正常工作:

  public function getPopularMovies($offset = null) {
$sql = 'SELECT * FROM `movies` ORDER BY `popularity` DESC';
if ($offset) $sql .= ' LIMIT '.$offset;
return $this->query($sql, null, 'all');
}

但是我无法执行按等级显示电影的功能。你能帮我吗?

谢谢

1 个答案:

答案 0 :(得分:1)

在数据库方面,您可能希望立即获得整个电影列表以及平均评分。我将其分成几行以提高可读性。

7.1.2