Php 如何在foreach循环中对来自mySQL数据库的类似结果进行分组?
如果结果相似,我想对它们进行分组,所以我得到的结果如下-Php 如何在foreach循环中对来自mySQL数据库的类似结果进行分组?,php,mysql,loops,pdo,Php,Mysql,Loops,Pdo,如果结果相似,我想对它们进行分组,所以我得到的结果如下- cat cat cat cat dog bird 您可以使用 示例 cat dog bird 或者您可以使用 示例- $pdo = $db->prepare('SELECT * FROM animals WHERE id = :id GROUP BY name'); 不同的方式:- 1.:- 2.:- 使用mysql的DISTINCT从表中获取唯一记录,如下所示 $pdo = $db->prepare('SELEC
cat
cat
cat
cat
dog
bird
您可以使用
示例
cat
dog
bird
或者您可以使用
示例-
$pdo = $db->prepare('SELECT * FROM animals WHERE id = :id GROUP BY name');
不同的方式:-
1.:-
2.:-
使用mysql的
DISTINCT
从表中获取唯一记录,如下所示
$pdo = $db->prepare('SELECT name FROM animals WHERE id = :id GROUP BY name');
Sql DISTINCT子句是您的朋友。 或者,通过php进行的操作将按此方式进行
$pdo = $db->prepare('SELECT DISTINCT name FROM animals WHERE id = :id ');
$pdo=$db->prepare('SELECT*FROM animals WHERE category=:category');
$pdo->execute(数组('category'=>$category));
而($row=$pdo->fetch(pdo::fetch_ASSOC)){
$name[$row[“name”]=$row[“name”];
echo$name。“
”;
}
$pdo=$db->prepare('SELECT DISTINCT name FROM animals WHERE id=:id')
如果您只需要名称,您可以使用从动物中选择不同的名称……
或通过在查询末尾添加按名称分组
来使用分组功能。DISTINCT是您的关键字!为什么一开始动物表中有重复项?是否有一个动物类型表列出了您应该选择的不同类型?虽然distinct/group by可能有效,但我希望在使用它们之前更好地理解数据;并确保设计在其他地方没有这些分类。
$pdo = $db->prepare('SELECT DISTINCT name FROM animals WHERE id = :id ');
$pdo = $db->prepare('SELECT name FROM animals WHERE id = :id GROUP BY name');
$pdo = $db->prepare('SELECT DISTINCT name FROM animals WHERE id = :id ');
$pdo = $db->prepare('SELECT * FROM animals WHERE category = :category ');
$pdo->execute(array('category' => $category));
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
$name[$row["name"]] = $row["name"];
echo $name."<br>";
}