![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam tak zapełnioną bazę:
Pierwsza tabela o nazwie "ks" w bazie: ks(autor , tytul , id_kat); ks(Adam Kowalski , Kat , 1,2,3); ks(Bogdan Kraś , Dog , 1,2); Druga tabela o nazwie "kat" w bazie: kat(id_kat , nazwa); kat(1 , Informatyka); kat(2 , Sport); kat(3 , Sztuka); i chcę wyświetlić taki wynik: +---------------+---------+-----------------------------+ | AUTOR | TYTUŁ | KATEGORIA | +---------------+---------+-----------------------------+ | Adam Kowalski | Kat | Informatyka, Sport, Sztuka | | Bogdan Kraś | Dog | Informatyka, Sport | +---------------+---------+-----------------------------+ Nie wiem ja to zrobić, bo mam w tabeli ks zapisane te liczby za pomocą funkcji implode() [czyli tablicy dwuwymiarowej] i nie wiem teraz jak to odczytać aby wyświetliło mi to tak jak podałem w wyniku ? ![]() Mi tylko wyświetla takie coś: +---------------+-------+----------------+ | AUTOR | TYTUŁ | KATEGORIA | +---------------+-------+----------------+ | Adam Kowalski | Kat | Informatyka | | Bogdan Kraś | Dog | Informatyka | +---------------+-------+----------------+ Proszę o pomoc ........... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 295 Pomógł: 7 Dołączył: 26.03.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Zła organizacja tabel. Jeśli maksymalna liczba kategorii do których może należeć książka jest określona to najprościej byłoby do tabeli 'ks' dodać tyle pól kat1,kat2,kat3 kat(n) ile może być tych kategorii. Jeśli liczba kategorii może być bardzo różna i duża wtedy dostawia sie jeszcze jedna tabelę, która zwiąże dany rekord z tabeli 'ks' z tyloma kategoriami ile trzeba (po jednej kategorii w jednym wierszu tabeli dla danej książki) potem sie to składa do kupy. Trudno Ci będzie złączyć tabele jeśli nie rozdzielisz jednostkowych informacji. Można by próbować zrobić podzapytanie lub złączenie używając akrobacyjnie w klauzuli ON tabela1.pole1 like tabela2.pole2 ale wtedy kategoria o id=1 pasowałaby do stringów '1', '10' , '1,2,3' , '10,20,30' więc to trochę bez sensu.
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czyli jak mam to najlepiej zrobić daj przykład konkretny w kodzie
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:23 |