字段中的PHP MYSQL返回数组

字段中的PHP MYSQL返回数组,php,mysql,Php,Mysql,我有点不知道怎么开始。我有一个属性名称表,然后是一个属性字段名称表。因此 **Table: attributes** id name **Table: attributes_fields ** id attrID fieldname 属性字段可以将多个记录附加到单个属性。我试图得到这样的输出 Name Fields (comma separated field id's) 9 1,3,4,5 到目前为止,我有这个 SELECT * FROM attributes

我有点不知道怎么开始。我有一个属性名称表,然后是一个属性字段名称表。因此

**Table: attributes**
id
name

**Table: attributes_fields **
id
attrID
fieldname
属性字段可以将多个记录附加到单个属性。我试图得到这样的输出

Name    Fields (comma separated field id's)
9       1,3,4,5
到目前为止,我有这个

SELECT * 
FROM attributes 
    LEFT JOIN attributes_fields on attributes.attributeID = attributes_fields.attributeFieldParentID
WHERE attributes.attributeID = 9
这很有效,但不是我想要的。我想退一行。以上命令将所有字段返回为多行

任何帮助都会很好


谢谢

您可以使用
GROUP\u CONCAT
功能执行此操作。 此函数返回一个字符串结果,其中包含组中连接的非空值。完整语法如下所示:

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                 [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])

mysql> SELECT student_name,
    ->     GROUP_CONCAT(test_score)
    ->     FROM student
    ->     GROUP BY student_name;
或:


请在这里查看:

我还想建议大家参加小组讨论。在您的查询中:

SELECT a.id as Name, GROUP_CONCAT( f.id SEPARATOR ',') as Fields 
FROM attributes a
    LEFT JOIN attributes_fields f on a.attributeID = f.attributeFieldParentID
WHERE a.attributeID = 9

它应该会给出您想要的结果。

请显示PHP代码。请使用mysqli。它就像一个符咒!非常感谢你!
SELECT a.id as Name, GROUP_CONCAT( f.id SEPARATOR ',') as Fields 
FROM attributes a
    LEFT JOIN attributes_fields f on a.attributeID = f.attributeFieldParentID
WHERE a.attributeID = 9