我在数据库中查询并使用while循环结果,然后检索样本数据:
echo $db->f("FirstName")."===".$db->f("Question")."=".$db->f("Answer")."<br>";
Michael===Q2=allergy
Michael===Q2=Hives
Michael===Q6=A lot
Michael===Q8_A=Daktacort
Michael===Q1=Itch
Michael===Q5=Smoke
Michael===Q8_A=Diprogenta
Christian===Q1=Stuffy
Christian===Q6=A lot
Christian===Q1=Clear
Christian===Q5=Pollen
如何根据名称和Q值对它们进行分组? 我想要这样的结果:
Name Q1 Q2 ..... so on and so fort.
Michael Itch Hives, Allergy
Christian Stuffy
答案 0 :(得分:1)
您可以使用GROUP_CONCAT在MySQL中执行此操作
SELECT FirstName,Question,GROUP_CONCAT(Answer) AS Answers
FROM <tables>
GROUP BY FirstName,Question
答案 1 :(得分:0)
使用数组而不是对函数的离散调用循环。然后你可以有类似的东西:
$data[0]["FirstName"] = "Michael";
$data[0]["Q1"] = "Itch";
$data[0]["Q2"] = "Hives, Allergy";
... etc
当您想要显示数据并显示包含关联信息的离散行的表时,您可以遍历此数组。
答案 2 :(得分:0)
您可以使用MySQL的GROUP_CONCAT()功能。
但请牢记group_concat_max_len的限制。