gpt4 book ai didi

php - 如何显示mysql中每个唯一项目的信息,合并每个项目的信息

转载 作者:行者123 更新时间:2023-11-29 09:45:40 25 4
gpt4 key购买 nike

我正在尝试循环遍历 mysql 数据库中列中的每个唯一项目

例如,数据库类似于下面,我想显示每种唯一颜色的型号和年份。

数据库示例。 (表名为“汽车”)

----------------------
Color | Model | Year
----------------------
Red | Chevy | 2014
----------------------
Blue | Ford | 2012
----------------------
Red | Ford | 2013
----------------------
Red | Ford | 2014
----------------------
Blue | Ford | 2012
----------------------
Blue | Chevy | 2012
----------------------
Red | Ford | 2011
----------------------
Blue | Chevy | 2012
----------------------

我正在寻找类似的输出: 红色的雪佛兰 1福特4

蓝色福特2雪佛兰3

下面的代码将显示每种颜色。

<?php
$con = mysqli_connect($servername, $username, $password, $dbname);
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,$dbname);

$sql="SELECT * FROM `cars`";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
echo "<br />" . $row['Color'] . "<br />";
}
mysqli_close($con);
?>

下面将计算不同的颜色。

SELECT COUNT(DISTINCT `Color`) from `cars`;

我需要为每种独特的颜色运行一个函数。

最佳答案

您可以在获取结果时按颜色和型号进行分组。

while ($row = mysqli_fetch_array($result)) {
$colors[$row['Color']][$row['Model']][] = $row['Year'];
}

然后输出这些组以及每种颜色/型号的计数。

foreach ($colors as $color => $models) {
echo "<h2>$color</h2>";
foreach ($models as $model => $years) {
echo "<p>$model: " . count($years) . "</p>";
}
}

例如,我添加了一些基本标记,不过您可能已经知道如何格式化结果。

像这样的分组还意味着您不需要运行第二个查询来计算不同的颜色。

$distinctColorCount = count($colors);

关于php - 如何显示mysql中每个唯一项目的信息,合并每个项目的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55732119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com