Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 27.03.2014 Ostrzeżenie: (0%)
|
Witam
Czy ktoś z was wie jak połączyć ze sobą 2 tabele o powiązaniach jeden do wielu. Czyli 1 rekord z pierwszej tabeli jest powiązany z kilkoma z drugiej. W pierwszej tabeli jest kilkaset wyników. Każdy musi zostać wyświetlony wraz d dodatkowymi polami. Pola nie mogą się powtarzać a dodatkowe wartości mają zostać dopisane na końcu. Jeśli w drugiej tabeli były 3 wyniki do wypisania pierwszej dodaje 3 rekordy na końcu. Druga tabela zawiera klucz obcy na podstawie którego można połączyć. Próbowałam zrobić to w ten sposób
W efekcie tego otrzymałam stringa (aaa, 2, 1, , bbbbb, ccc). A potrzebuje zmienne na których mogła bym pracować. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 1 527 Pomógł: 438 Dołączył: 28.06.2011 Skąd: Warszawa Ostrzeżenie: (0%)
|
Nie do końca o to mi chodziło ale zagłębiając się w temat:
Ogólnie rozumiem, że masz chciałabyś coś na zasadzie: id pole d1 d2 d3 .... dn 1 coś a b c .... z Nie ma super sposobu na coś takiego. Zastosowałaś group_concat i słusznie. Uzyskasz tak jak pisałaś string z wartościami po ",": id pole dodatkowe 1 coś a,b,c,....,z Jeśli w tych dodatkowych wartościach nie występuję znak "," to wystarczy tak jak jest - jeśli występuje musisz znaleźć odpowiedni separator dla GROUP_CONCAT:
Teraz pobrawszy takie dane masz w PHP taką tabelę: Kod array( 'id' => 1, 'pole' => 'coś', 'dodatkowe' => 'a,b,c' ); jeśli masz dalej pracować na takich danych w PHP posłuż się funkcją explode. Dla każdego z wierszy wyników ekploduj te dodatkowe dane do tabeli php:
W ten sposób uzyskasz tablicę:
Nie wiem czy o to chodziło - dużo byś nie musiała zmieniać. |
|
|
|
Aui06 [MySQL][PHP] Wypisanie tabeli z połączeniem jeden do wielu 7.04.2014, 09:07:53
Sephirus Najlepiej będzie jesli podasz struktury tych tabel... 7.04.2014, 09:14:08
Aui06 To będzie wyglądało mniej więcej tak:
Kodtabela1 ... 7.04.2014, 09:25:29
Aui06 Nie zupełnie o to mi chodziło. Ja to potrzebuje w ... 7.04.2014, 10:47:05
Sephirus Praktycznie nie zmusisz MySQL'a aby wypluł Ci ... 7.04.2014, 11:11:37
Aui06 Ok. Chyba nie do końca możemy się porozumiemy.
- ... 7.04.2014, 14:39:34 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 04:22 |