Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tablica wielowymiarowa
Forum PHP.pl > Forum > PHP
zak293
Witam,
mam w bazie danych taką strukturę:
  1. id | name | parent_id


i chcę wygenerować za pomocą jednego zapytania tablicę:
  1. $menu = array(
  2. 'pozycja 1',
  3. 'pozycja 2'=>array(
  4. 'pozycja 2.1',
  5. 'pozycja 2.2'=>array(
  6. 'pozycja 2.2.1',
  7. 'pozycja 2.2.2'
  8. ),
  9. 'pozycja 2.3'
  10. )
  11. );


Prosiłbym o sugestie w jaki sposób otrzymać taką tablicę.

Pozdrawiam
Kedan
Z tego co wiem - nie da się. Możesz sobie poczytać o przetrzymywaniu drzew logicznych czy grafów tabelach - jest tego trochę na google. Najprościej jednak będzie z php pobierać jakis_root, a potem rekurencyjnie potomków, jeśli istnieją. Jest to jednak dość kosztowne i powolne rozwiązanie, więc dla np.: Menu dobrze byłoby "przetworzony" wynik trzymać w cache'u zamiast dobierać się do bazy danych przy każdym odświeżeniu strony.
lukaskolista
mozesz to osiagnac dodajac kolumny lft (left) i rgt(right). Tu masz opisane jak to osiagnac. http://piotrekkr.info/2009/08/me-vs-tree-c...-i-php/#more-45 - tutaj jest troche wiecej.
zak293
Dzięki za odpowiedzi wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.