Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][SQL]Array w arrayu z bazy danych
grzesoz
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 10.11.2017

Ostrzeżenie: (0%)
-----


Witam

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:

  1. 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ąć:

  1. 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:

  1. 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):

  1. 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ąć
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 18:45