![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam pytanie - czy w takim przypadku można zastosować zapytanie w pętli? Ewentualnie jakie jest inne rozwiązanie tego problemu?
Chodzi o uzyskanie tablicy jak poniższa: potrzebuję mieć w niej kategorie i podłączone do nich wybrane podkategorie (wybierane one są z tabeli wg. potrzeb, tzn. nie są podłączone wszystkie podkategorie tylko wybrane według potrzeb). Z jednej strony mój pomysł opiera się właśnie na zapytaniu w pętli - a drugi to łączenie dwóch tablic po key'u. Wydaje mi się, że pomysł z zapytaniem w pętli jest lepszy, aczkolwiek na tzw. "czuja" nie podoba mi się samo hasło "zapytania w pętli". Bardzo proszę kogoś o dokładną analizę kodu - borykam się z tym problemem od jakiegoś czasu i do tej pory nie udało mi się uzyskać satysfakcjonującej odpowiedzi. Generalnie nie chodzi tutaj o funkcję kategorie / podkategorie - to dałem tylko dla przykładu. W rzeczywistości każda gałąź [sub] -> ma mieć jeszcze [data] -> a potem duże [items].
Powyższa tablica uzyskana z zapytania:
Ten post edytował dizor 17.09.2009, 13:43:52 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 7 Dołączył: 29.04.2009 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Mając dużą tablicę o wielu poziomach zajedziesz bazę danych.
Już lepiej użyć xml w tym celu. generujesz sobie odpowiedni plik, a następnie używasz prostej biblioteki SimpleXml do obróbki. W efekcie dostajesz tablicę obiektów, bardzo podobną do tej, którą przedstawiłeś. Następnie wygenerowanie listy kategorii to kwestia napisania jednej funkcji rekurencyjnej, która przechodzi przez całą tablicę i wywołuje samą siebie, jak natrafi na 'głębszy' poziom |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 17:44 |