Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: funkcje, drzewka - zamieszałem się?
Forum PHP.pl > Forum > Przedszkole
termin
Witam, mam takie coś w bazie:

KATEGORIE
--------------
KAT_ID
KAT_IDOJCA
NAZWA_KAT

Dane w bazie wpisane sa na takiej zasadzie:
1 | 0 | nasz dom
2 | 1 | mama
3 | 1 | tato
4 | 2 | corka1
5 | 2 | syn1
6 | 3 | corka2
7 | 3 | syn2
8 | 4 | costam

itd.
Napisalem skrypt ktory tworzy drzewko na zasadzie:

  1. <?php
  2.  
  3. $SQL=&#092;"SELECT * FROM kategorie WHERE KAT_IDOJCA=0\"
  4.  
  5. ?>

//czyli pobieram glowny korzen i wyswietlam
pokazuje mi NASZ DOM ktory przyjmuje p0=KAT_ID, nastepne podkategorie otrzymuja odpowiednio p1, p2, p3, p4, p5 - 5 poziom jest maksymalny.
Po kliknieciu w niego:

  1. <?php
  2.  
  3. //dalszy ciag kodu php
  4. if ($p0!=NULL)
  5. {
  6. $SQL=&#092;"SELECT * FROM kategorie WHERE KAT_IDOJCA=$p0\";
  7. }
  8.  
  9. ?>

klikajac w podkategorie robie kolejne sprawdzenie i robie SELECT.
Jak widac jest to poczęści wyrazenie regularne, czy ktos moze mi doradzic jak napisac funkcje ktora bedzie obslugiwac tego typu drzewko?
nospor
Chyba nie zakumałem, ale napiszę biggrin.gif :
  1. <?php
  2.  
  3. function genTree(parent)
  4. {
  5. if ($parent == null) return;
  6. $SQL=&#092;"SELECT * FROM kategorie WHERE KAT_IDOJCA=$parent\";
  7.  
  8. //.. tutaj se wyswietlaj wynik zapytania
  9.  
  10.  //...można jeszcze rekurencje dorobić z wyników zapytania
  11.  // w pętli otrzymanej z selecta wywyolujesz jeszcze raz tą funkcję z id
  12.  //znalezionej kategorii
  13. //początek pętli
  14.  genTree($znalezioneId);
  15. //koniec pętli
  16. }
  17.  
  18. ?>

jeśli to nie to to napisz dkladniej o co ci chodzi
pozdro
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.