Relacja wiele do wielu - jak wyciągnąć dane? |
Relacja wiele do wielu - jak wyciągnąć dane? |
23.09.2008, 22:34:59
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 1 Dołączył: 23.09.2008 Skąd: Łódź Ostrzeżenie: (0%) |
Witam
Mam bazę danych z różnymi imprezami (koncertami, wystawami...) i każda z nich może należeć do wielu kategorii. w uproszczeniu: tabela_imprezy id_imprezy | nazwa_imprezy tabela_kategorie id_kategorii | nazwa_kategorii tabela_x id_imprezy | id_kategorii Potrzebuję wyświetlić listę imprez tak, żeby przy każdej z nich były wypisane wszystkie kategorie do których dana impreza należy (taki efekt jak w Gmailu z etykietami przy tematach). Czy da się to wyciągnąć w jednym zapytaniu? Jeśli nie, to może jest jakiś lepszy sposób, niż wyciąganie listy kategorii dla każdej imprezy z osobna? Nie żebym się jakoś bardzo przejmował wydajnością, ale wolałbym to zrobić poprawnie Z góry dzięki za pomoc i pozdrawiam! |
|
|
23.09.2008, 23:18:59
Post
#2
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 12 Dołączył: 3.03.2008 Skąd: łódzkie Ostrzeżenie: (0%) |
Jeśli chodzi Ci o to co myślę, że Ci chodzi to zerknij tutaj: http://forum.php.pl/index.php?showtopic=103003
-------------------- "Jeden człowiek nie zmieni świata, ale jeden człowiek może przekazać informację która zmieni świat." - David Icke
| PAMIĘTAJ, JESTEŚ POLAKIEM !!! | Jam jest Polska, Ojczyzna Twoja, ziemia Ojców, z której wzrosłeś. Wszystko, czym jesteś, po Bogu - mnie zawdzięczasz!! |
|
|
24.09.2008, 08:09:49
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) |
@Nix1: najlepiej pobrać to najprostszym zapytaniem i w PHP w pętli pogrupować, czyli wyciągasz:
impreza 1, kategoria 1 impreza 1, kategoria 3 impreza 3, kategoria 2 impreza 3, kategoria 3 i ładnie w pętli obrabiasz, bo co z tego, że wyciągniesz w jakieś kolumnie np. kategoria 1, kategoria 2 skoro potem to i tak musisz najczęściej rozdzielać, a jeszcze więcej zabawy jak wyciągasz np. dwie kolumny (nazwę i id) lub więcej Ten post edytował sf 24.09.2008, 08:10:55 -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
27.09.2008, 01:59:37
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 1 Dołączył: 23.09.2008 Skąd: Łódź Ostrzeżenie: (0%) |
Niby OK, ale oba sposoby mają dwie zasadnicze wady.
Przede wszystkim - jeśli chcę wybrać tylko imprezy należące do jakiejś kategorii wtedy pozostałych kategorii w ogóle nie zobaczę. Chodzi np. o to, żeby po kliknięciu w etykietę pokazały się tylko imprezy z przypisaną tą etykietą, ale pozostałe etykiety danej imprezy mają być widoczne. Drugi problem jest taki, że dodałem drugie podobne powiązanie (nazwijmy je 'typy'). Wtedy oba te sposoby troszkę się sypią - generują powtórki. Może by się to dało skryptem wyeliminować, ale w skrajnych przypadkach tych powtórek może wyjść naprawdę sporo. Także chyba szukam dalej... Ten post edytował Nix1 27.09.2008, 02:00:13 |
|
|
5.10.2008, 12:02:02
Post
#5
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 15 Dołączył: 19.07.2007 Ostrzeżenie: (0%) |
to co masz w nawiasie kwadratowym to dodaj tylko jesli chcesz wyswietlic imprezy z danej kategorii |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 11:00 |