Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pomoc w wyswietleniu bazy ...
harrypl
post 19.12.2007, 19:17:05
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 ...........
Go to the top of the page
+Quote Post
Indeo
post 19.12.2007, 22:55:33
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.


--------------------
Go to the top of the page
+Quote Post
harrypl
post 19.12.2007, 23:26:18
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 smile.gif (twojej wersji)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:23