Mam problem z wyciąganiem danych z bazy.
mam 2 tabele:
struktura pierwszej
id(int), imie(string)
sturktura drugiej:
id(int), id_czlowieka(int), kolor(string)
id_czlowieka to id z pierwszej tabeli, a ogólnie chodzi o przypisanie ulubionego koloru do człowieka. Tylko że człowiek może mieć kilka ulubionych kolorów
Przykładowe dane:
tabela pierwsza:
id, imie
1, Grzesiek
tabela druga:
id, id_czlowieka, kolor
1,1,czerwony
2,1, niebieski
używając zapytania SQL moge wyciągnąć coś takiego:
SELECT p.imie d.kolor FROM pierwsza AS a JOIN druga sa d ON p.id=d.id_czlowieka
Grzesiek czerwony
Grzesiek niebieski
ale chciałbym otrzymać coś takiego:
Grzesiek czerwony,niebieski
moge coś takiego osiągnąć używająć:
SELECT p.imie, GROUP_CONCAT(DISTINCT d.kolor) AS kolory FROM pierwsza AS a JOIN druga sa d ON p.id=d.id_czlowieka
i w php otrzymam takiego arraya:
array(1) { [0]=> object(stdClass)#4 (7) { ["imie"]=> string(4) "Grzesiek" ["kolory"]=> string(18) "czerwony,niebieski" } }
tylko że "czerwony,niebieski" będzie jednym stringiem, a ja bym chciał żeby nie był jednym tylko dwoma: "czerwony","niebieski"
żeby array w php zwrócił coś w stylu (sam pisałem tak dla przykładu, wiec nie wiem czy jest możliwe takie zwrócenie):
array(1) { [0]=> object(stdClass)#4 (7) { ["imie"]=> string(4) "Grzesiek" ["kolory"]=> list[ string(8)"czerwony", string(9) "niebieski" ]} }
ma może ktoś pomysł jak to osiągnąć?
przydałby sie taki array w arrayu żeby móc potem te kolory pojedyńczo wyciągnąć