![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taką strukturę bazy:
oraz funkcje PHP
a dzięki temu mogę wygenerować taką oto strukturę: Kod Array ( [1] => Array ( [id] => 1 [parent] => 0 [alias] => produkty [title] => Produkty [icon] => [cid] => 0 [children] => Array ( [2] => Array ( [id] => 2 [parent] => 1 [alias] => baterie [title] => Baterie [icon] => baterie.png [cid] => 0 [children] => Array ( [4] => Array ( [id] => 4 [parent] => 2 [alias] => [title] => Baterie wannowo - prysznicowe [icon] => [cid] => 0 [level] => 2 ) [5] => Array ( [id] => 5 [parent] => 2 [alias] => [title] => Baterie kuchenne [icon] => [cid] => 0 [level] => 2 ) [6] => Array ( [id] => 6 [parent] => 2 [alias] => [title] => Baterie prysznicowe [icon] => [cid] => 0 [level] => 2 ) [7] => Array ( [id] => 7 [parent] => 2 [alias] => [title] => Zestawy baterii [icon] => [cid] => 0 [level] => 2 ) [8] => Array ( [id] => 8 [parent] => 2 [alias] => [title] => Baterie wannowo - prysznicowe podtynkowe [icon] => [cid] => 0 [level] => 2 ) [17] => Array ( [id] => 17 [parent] => 2 [alias] => zawory-katowe [title] => Zawory kątowe [icon] => [cid] => 0 [level] => 2 ) ) [level] => 1 ) [18] => Array ( [id] => 18 [parent] => 1 [alias] => sedesy [title] => Sedesy [icon] => [cid] => 0 [level] => 1 ) [10] => Array ( [id] => 10 [parent] => 1 [alias] => bidety [title] => Bidety [icon] => [cid] => 0 [children] => Array ( [11] => Array ( [id] => 11 [parent] => 10 [alias] => bidety2 [title] => Bidety [icon] => [cid] => 0 [level] => 2 ) [12] => Array ( [id] => 12 [parent] => 10 [alias] => deski-bidetowe [title] => Deski bidetowe [icon] => [cid] => 0 [level] => 2 ) [13] => Array ( [id] => 13 [parent] => 10 [alias] => baterie-bidetowe [title] => Baterie bidetowe [icon] => [cid] => 0 [level] => 2 ) [14] => Array ( [id] => 14 [parent] => 10 [alias] => syfony-do-bidetow [title] => Syfony do bidetów [icon] => [cid] => 0 [level] => 2 ) [15] => Array ( [id] => 15 [parent] => 10 [alias] => syfony-do-bidetow2 [title] => Syfony do bidetów [icon] => [cid] => 0 [level] => 2 ) ) [level] => 1 ) ) [level] => 0 ) ) i chciałbym się dowiedzieć w jaki sposób mogę pobrać kategorię tylko z gałęzi "Bidety"? Jakiś pomysł? Słyszałem o "The Nested Set" jednak mam za mało czasu na zapoznanie się i przerobieniu tego. Przy następnym projekcie już zastosuje ten nowy model. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Przy takim drzewie wygląda mi na to, że to nie problem.
Zapytanie do bazy:
i dostaniesz id i parent, w takim układzie ze zwróconej przez Twoją funkcję tablicy (załóżmy że pod zmienną $artykuly) wybierasz odpowiednie poddrzewo, czyli np. $artykuly[$parent][$id] (zmienne z odpowiednich pól rezultatu z bazy). WADY: 1. nadmiarowe odwołanie do SQL 2. zadziała tylko przy pierwszym poziomie zagnieżdżenia Jeśli nie chcesz w taki sposób - musisz przetworzyć indeksy tablicy w PHP. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 21:07 |