我有以下查询:
SELECT projects.project_name, files.file_name
FROM `projects` JOIN `files` ON (projects.project_id = files.project_id)
ORDER BY projects.project_name ASC, files.file_name ASC
例如输出:
Project1 - file1
Project1 - file2
Project2 - file3
Project2 - file4
在PHP中,我使用以下方法提取这些值:
while ($row = mysql_fetch_assoc($result)) {}
我想要一个像这样的输出:
Project1 - file1, file2
Project2 - file3, file4
我该怎么做?感谢。
答案 0 :(得分:1)
您可以使用MySQL
GROUP_CONCAT()
中执行此操作
SELECT projects.project_name,
GROUP_CONCAT(files.file_name) file_name
FROM projects
INNER JOIN files
ON (projects.project_id = files.project_id)
GROUP BY projects.project_name
ORDER BY projects.project_name ASC,
files.file_name ASC
答案 1 :(得分:0)
请停止使用标记为mysql * mysql的任何函数已被删除。 PDO可以更好地与之合作并且正在积极开发中。
http://www.php.net/manual/en/mysqlinfo.api.choosing.php
注意mysql_fetch_assoc()函数上的大红色警告标语。