Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] system kategorii
jankes83
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 5
Dołączył: 23.12.2009

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


Witam

Próbuje zrobić prosty system kategorii do galerii zdjęć. Na razie osiągnąłem tylko możliwość dodawania głównej kategorii i jednej podkategorii.
Struktura bazy wyglada mniej wiecej tak:
Kategorie
|id||name||parent_id|
1 Kat1 0
2 Kat2 0
3 Kat3 2
4 Kat4 2
5 Kat5 1

Przy tym rozwiązaniu mogę dodać do kazdej kategorii wiele podkategorii, i do kazdej podkategorii wiele podpodkategorii itd.
Mam jednak problem z banalna sprawą. W jaki sposób wyświetlić to gdziekolwiek?

W tym momencie mam skrypt ktory działa mniej wiecej w ten sposób:

1. Wyswietl pierwsza kategorie i sprawdz czy `parent_id` <> 0;
2. Jesli tak to wykonaj nowe zapytanie sql, w ktorym wyszukasz wszystkie podkategorie z `parent_id` = id

Te rozwiazanie jest wg mnie dobre ale tylko jesli ma wyswietlac się jedno "zaglebienie". Gdybym chciał wiecej tych "zaglebien" to musiałbym dla kazdego robić kolejne zapytanie, a chcialbym zeby ilość zaglebien była dynamiczna.

Podsumowując:

Tak mi się wyświetla:

  1. Kategoria ppierwsza
    1. Podkategoria pierwsza
    2. Podkategoria druga
    3. Podkategoria trzecie
  2. Kategoria druga
  3. Kategoria trzecia
  4. Kategoria czwarta

Chciałbym wyświetlać tak:

  1. Kategoria pierwsza
    1. Podkategoria pierwsza
    2. Podkategoria druga
      1. Podpodkategoria pierwsza
      2. Podpodkategoria druga
        1. Podpodpodkategoria pierwsza
          1. Itd, itd....
  2. Kategoria druga
  3. Kategoria trzecia
  4. Kategoria czwarta

Z góry dziękuję za pomoc.

Ten post edytował jankes83 5.02.2010, 09:35:00
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


1. Echo jest niepotrzebne, bo robi to już ta funkcja
2. Dajesz jej złe argumenty, pierwszy argument to ID gałęzi, które chcesz wyświetlić (jak całe drzewo to 0), natomiast drugi argument to tablica kategorii:
  1. display(0,$tablica);

3. Sprawdź funkcją print_r, czy tablica zawierająca drzewo jest poprawna
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 01:44