![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy takie zapytanie wogóle jest możliwe. Opisze moze najpierw moją strukturę tabel...
(IMG:http://edico.nazwa.pl/schema.jpg) Teraz jesli chcę wylistować całą strukture to robię zapytanie:
Jednak gdybym chciał pobrac tytuł jakiegoś węzła to musze juz wykonac 2 zapytania:
Sprawa komplikuje się gdy chce wylistować wszystkie elementy. Jeśli będę miał ich np 1.000 to nie zrobię przeciez tylu zapytań. Bardzo prosze o pomoc. Ten post edytował Black-Berry 20.08.2008, 09:35:52 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę nie widze innego sposobu na zapewnienie struktury drzewiastej. Jeśli dodam nowy typ np 'produkt' to bedzie on miał pola takie jak cena, ilosc, ocena kupujacych, klikniecia, ilosc zamowien, waga, wymiary itd. itd... Przyznasz ze wtedy o wiele bardziej rozni sie to od kategorii.
Edit: Unikatowy identyfikator pola obcego jest tworzony z połaczenia pól 'reference_id' oraz 'type'. Nie rozmumiem skad te beszty. przeciez nie ma innej możliwości. Przynajmniej ja nie potrafię sobie tego wyobrazić. Moze jakies sugestie ? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę nie widze innego sposobu na zapewnienie struktury drzewiastej. To masz słabą wyobraźnię. Strukturę drzewiastą robi się w jednej tabeli. w której odpowiednie pole rekordu wskazuje na ID innego rekordu tej samej tabeli jako na rodzica. To bardzo ogólny przypadek. Dzieś na forum już o tym pisałam. Jeśli chcesz mieć tabelę kategorii to ok, ale w tabeli produktów dajesz pole w którym jest id kategorii do której produkt należy. Jeśłi zaś dany produkt może należeć do wielu kategorii (a to już niej est struktura drzewiasta) to poza tabelą produktów i tabelą kategorii będziesz musiał zrobić tabelę relacji między id produktu i id kategorii do których produkt nalezy. Nie rozmumiem skad te beszty. przeciez nie ma innej możliwości. Przynajmniej ja nie potrafię sobie tego wyobrazić. Moze jakies sugestie ? To, że nie umiesz sobie tego wyobrazić nie oznacza, że nie ma innej możliwości. (IMG:http://forum.php.pl/style_emoticons/default/aaevil.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
To masz słabą wyobraźnię. Strukturę drzewiastą robi się w jednej tabeli. w której odpowiednie pole rekordu wskazuje na ID innego rekordu tej samej tabeli jako na rodzica. To bardzo ogólny przypadek. Dzieś na forum już o tym pisałam. No i własnie tak działa to co mam. Tabela główa trzyma strukturę, a poszc zególne węzły zapisane są w odzielnych tabelach. Nie rozumiem w dalszym ciągu w czym rzecz? Może za mało opisałem sposób działania: Struktura drzewiasta trzymana jest w tabeli tree_strukture. Kombinacja pól type oraz reference_id służą do odnalezienia konkretnego węzła. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
No i własnie tak działa to co mam. Tabela główa trzyma strukturę, a poszc zególne węzły zapisane są w odzielnych tabelach. W takim razie graf który narysowałeś nie oddaje tej struktury a po Twoich wyjaśnieniach sugeruje, że zarówno kategoria może być dzieckiem artykułu jak i artykuł może być dzieckiem kategorii. Poza tym nie widzę w tej drzewiastej tabeli połączenia typu rodzić dziecko. Które pole wskazuje na rodzica a które na potomka? połączenia |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 02:37 |