0
我遇到了一个我无法解决的问题。php从数组中打印更多结果并将它们分组
比方说,我有一个表在MySQL这样的:
id | name | city
---|---------|---------
1 | En | Madrid
2 | Nicole | Paris
3 | Robin | London
4 | Wayne | Paris
5 | John | Madrid
6 | Frank | Madrid
我想列表一个DIV一个城市所有的名字,我想这样做的所有城市。
例子:
恩,约翰,弗兰克
妮可,韦恩
罗宾
所有这些行是在DIV,下面一个到另一个。在这种特殊情况下,结果是3格。我管理的只是特别的每个名字div,其中6个。我这样做:
$result = mysql_query("SELECT * FROM table_name");
$count=mysql_num_rows($result);
$i=0;
for($i=0;$i<=$count-1;$i++)
{
$row=mysql_fetch_array($result);
echo "<div>$row[name]</div>";
}
任何人都可以帮助我吗?
你需要多次查询和嵌套的for循环。首先查询获得独特的城市(使用DISTINCT子句)。第二个查询获取该城市所有名称的列表。在遍历第二个查询的结果时,您将创建div。 – Maximus2012
你可以做一个group_concat查询 - “SELECT GROUP_CONCAT(name)as name,city FROM table_name GROUP BY city' https://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html# function_group-concat – Sean
随着肖恩的建议,我得到了只有城市,并与Maximus2012我无法管理。现在我谷歌找出这些功能。 –