添加我的搜索结果中的所有评分。
好的,我有一个名为评级的表格,在表格中它是这样的。
ID | UserID | Rating | TMDB | TYPE
-----------------------------------
1 34 6 432 3
-----------------------------------
2 34 9 432 3
我的sql是
$sql = "SELECT * FROM `tbl_rating` WHERE `tmdb`='" . $tmdb . "' AND `type`='" . $type . "' ";
确定这会提取我想要的信息。我现在可以使用while或foreach命令来调用$ row ['rating']。但是我不知道如何添加结果togeather或做任何基本的数学。这是一个电影评级数据库,我试图让我的脚本添加到结果列中的所有“评级”,然后进行平均投票。
我希望这能成为现实。任何帮助都会非常感谢大家!
此剧本对Gore,Scare,Acting,Story有星级评分(这是我使用类型字段的地方)。
答案 0 :(得分:0)
添加到包含总计的变量。
$total_rating = 0;
$rating_count = 0;
while ($row = $stmt->fetch()) {
$total_rating += $row['rating'];
$rating_count++;
}
if ($rating_count > 0) {
$avg_rating = $total_rating / $rating_count;
} else {
$avg_rating = 0;
}
您也可以在查询中执行此操作:
$sql = "SELECT AVG(rating) AS avg_rating FROM `tbl_rating` WHERE `tmdb`= :tmdb AND `type`= :type ";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':tmdb', $tmdb);
$stmt->bindParam(':type', $type);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$avg_rating = $row['avg_rating'];