我开发了一个数据库,其中有三组列: - 用户名 - 感觉 - 备注
关于感受的条目都是一样的,因为它们是从下拉菜单中选择的。我正在寻找一种方法来计算相同结果的数量,然后用 PHP 在网站上回显它,但我无法得到比这更进一步的方法:
<?php
$con=mysqli_connect("localhost","username","password", "database");
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$query = "SELECT COUNT(*) FROM thefeels WHERE feeling = 'Happy'";
$result = mysqli_query($con, $query);
var_dump($result)
?>
在这段代码中,我想计算列中出现快乐的次数,但即使那样也不起作用。如何计算相同结果在列中出现的次数? 所以如果 Happy 出现了四次而 Sad 出现了两次,它应该显示:
Happy: 4
Sad: 2
最佳答案
这是一项基本的计数行任务。您会在 official documentation 中找到一些示例.
在您的情况下,它将是:
$query = "SELECT feeling, COUNT(*) as count FROM thefeels GROUP BY feeling";
$result = mysqli_query($con, $query);
现在您可以使用“老派”方式(您会在许多教程中找到):
while ($row = mysqli_fetch_assoc($result)) {
echo "{$row['feeling']}: {$row['count']}<br>";
}
或者向前推进,将数据获取与数据处理和数据输出分开:
$feelingCounts = $con->fetch_all(MYSQLI_ASSOC);
然后用获取的数据做任何你想做的事。例如:
var_dump($feelingCounts);
关于php - 如何计算列中相同结果的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50572199/