Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Drzewko IP - Wielopoziomowa lista
arturpiotrowski
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 1
Dołączył: 6.12.2016

Ostrzeżenie: (0%)
-----


W tym wątku nauczyłem się robić drzewko IP z kategoriami. (dzięki nospor).
Udało mi się zrobić formularz z polem select i wszystkimi kategoriami i podkategoriami:
  1. INSERT INTO `kategorie` (`kategoria_id`, `nazwa`, `ip`, `poziom`) VALUES
  2. (1, 'Root', '1.', 0),
  3. (2, 'Produkty spożywcze', '1.2.', 1),
  4. (3, 'Sprzęt AGD', '1.3.', 1),
  5. (4, 'Sprzęt RTV', '1.4.', 1),
  6. (11, 'Auto / Moto', '1.11.', 1),
  7. (12, 'Sprzęt sportowy', '1.12.', 1),
  8. (13, 'Komputery', '1.13.', 1),
  9. (14, 'Zabawki', '1.14.', 1),
  10. (15, 'Miksery', '1.3.15.', 2),
  11. (16, 'Zmywarki', '1.3.16.', 2),
  12. (17, 'Opony', '1.11.17.', 2),
  13. (18, 'Rowery', '1.12.18.', 2),
  14. (19, 'Dyski twarde', '1.13.19.', 2),
  15. (20, 'Monitory', '1.13.20.', 2),
  16. (22, 'Puzzle', '1.14.22.', 2),
  17. (23, 'Odkurzacze', '1.3.23.', 2),
  18. (25, 'Pieczywo', '1.2.25.', 2),
  19. (28, 'Telewizory', '1.4.28.', 2),
  20. (30, 'Soki i napoje', '1.2.30.', 2);

  1. $space = '';
  2. $out = '<select name="jednostki" class="form-control">';
  3. $kat = '' // wynik zapytania o wszystkie kategorie
  4. foreach($kat as $item){
  5. if($item->poziom > 0){
  6. for($i=1;$i<=$item->poziom;$i++){
  7. if($i==$item->poziom){
  8. $space .= '-&nbsp;';
  9. } else{
  10. $space .= '-';
  11. }
  12. }
  13. }
  14. $out .= '<option value="' . $item->ip . '">'. $space . $item->nazwa . '</option>';
  15. $space = '';
  16. }
  17. $out .= '</select>';
  18. echo $out;

ale nie umiem zrobić z tego listy <ul></ul> wielopoziomowej, może jakaś dobra dusza mi podpowiedzieć jak to zrobić? z jednym poziomem sobie jakoś radzę. Nie wiem jak zaimplementować listę z kolejnymi poziomami tego drzewa (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




Pobierasz wszystkie kategorie selectem, ale wazne bys dla zapytania ustawil ORDER BY LEVEL ASC + ewentualnie inne pola jesli chcesz sortowac po np. nazwie
Potem lecisz pokolei po rekordach w php i budujesz tablice, ktorej indexem jest ID kategorii a wartoscia reszta danych kategorii + pole na CHILDREN ktore jest tablica i tam bedziesz wstawial bezposrednie dzieci danej kategorii/subkategorii

Gdy juz bedziesz mial tak zbudowana tablice lecisz foreachem najpierw po elementach ktore maja level 0. Jesli one maja dzieci to wchodzisz foreachem w dzieci i iterujesz po dzieciach itd itd. Tutaj bardzo przydatna bedzie rekurencja.

Sory ze tak ogolnikowo ale mam troche na glowie dzisiaj
Go to the top of the page
+Quote Post

Posty w temacie
- arturpiotrowski   [MySQL][PHP] Drzewko IP - Wielopoziomowa lista   7.12.2016, 21:50:26
- - nospor   Pobierasz wszystkie kategorie selectem, ale wazne ...   8.12.2016, 10:23:07
- - arturpiotrowski   Kod// [b]$cats[/b] zawiera ta...   8.12.2016, 13:08:12
- - nospor   Nie, chodzilo mi tylko o bezposrednie dzieci. To b...   8.12.2016, 13:21:24
- - arturpiotrowski   Przepraszam że dopiero teraz piszę, a idRodzica z ...   13.12.2016, 19:13:20
- - nospor   Moze byc tak jak mowisz ale rownie dobrze moze byc...   14.12.2016, 09:45:42
- - arturpiotrowski   chyba z 1 zadaniem się udało, wydaje mi się że dzi...   17.12.2016, 05:41:36
- - nospor   Nie, nie dwa foreach tylko rekurencja. Wpierw pob...   19.12.2016, 11:24:03
- - arturpiotrowski   Dzięki, coś się ruszyło do przodu choć jeszcze dal...   21.12.2016, 06:38:27
- - nospor   CytatJak mniemam teraz za każdą rekurencją jest od...   21.12.2016, 10:01:08
- - arturpiotrowski   wiem o return, tu raczej chodziło mi o wyrzucenie ...   22.12.2016, 00:31:44
- - nospor   Parametrem dla funkcji categories_tree() sa dzieci...   23.12.2016, 11:14:43
- - arturpiotrowski   nospor, dziękuję Ci za cierpliwość, chyba pora w t...   23.12.2016, 23:14:50
- - nospor   Cytatnie wiem jakim sposobem pobrać id elementów z...   24.12.2016, 16:08:36
- - arturpiotrowski   Coś mi wyszło, wygląda chyba na prawidłowy układ, ...   27.12.2016, 00:06:23
- - nospor   Po pierwsze nie zadne childs a children... nie kal...   27.12.2016, 14:58:55
- - arturpiotrowski   Pięknie dziękuję za pomoc, faktycznie wygląda to l...   27.12.2016, 23:07:07
- - nospor   ad1: tak ad2: to daj if ktory sprawdza czy jest co...   27.12.2016, 23:22:53
- - arturpiotrowski   Dzięki, pokombinuję, narazie zrobiłem tak i chyba ...   29.12.2016, 22:43:03
- - nospor   CytatW tej chwili tworzy się całe drzewo z podkate...   29.12.2016, 22:47:26


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 05:33