Nasıl döngü içindeyken PHP grup verilere

3 Cevap php

Ben süre kullanarak bir veritabanı ve döngü sonucu sorgulamak ve heres örnek veri almak:

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

How can I group them according to name and to their Q value? I want something like this result:

Name          Q1           Q2                         ..... so on and so fort.
Michael      Itch          Hives, Allergy
Christian    Stuffy 

3 Cevap

Sen GROUP_CONCAT MySQL bunu yapmak için kullanabilirsiniz

SELECT FirstName,Question,GROUP_CONCAT(Answer) AS Answers
FROM <tables>
GROUP BY FirstName,Question

Yerine bir işleve ayrı aramaların bir döngü daha bir dizi kullanın. Sonra böyle bir şey olabilir:

$data[0]["FirstName"] = "Michael";
$data[0]["Q1"] = "Itch";
$data[0]["Q2"] = "Hives, Allergy";
... etc

Eğer verileri görüntülemek ve ilişkili bilgilerin ayrık satırlık bir tablo sunmak için bu dizi aracılığıyla döngü istediğiniz zaman.

Bunun için MySQL GROUP_CONCAT() işlevini kullanabilirsiniz.

Ama group_concat_max_len akılda sınırlarını korumak.