Ben aşağıda şeklini alır basit bir ağaç var
ROOT
/\
A B
/ \
A1 B1
\
B11
Bu kendi kendine referans bir DB tablo SINIFLARI saklanır.
ID | CLASS_ID | PARENT_ID
---------------------------
1 | ROOT |
2 | A | ROOT
3 | A1 | A
4 | B | ROOT
5 | B1 | B
6 | B11 | B1
---------------------------
ve böylece, bu sadece bir örnek, class_id ve parent_id sütunlar tamsayılar vardır ama fikir olsun ben sadece onları bu örneğin karakter yaptı.
Sonra ben sonunda bu gibi bakmak istiyorum ikinci bir tablo ÇOCUKLARI var,
ID | CLASS_ID | CHILD_CLASS_ID
--------------------------------
1 | ROOT | A
2 | ROOT | A1
3 | ROOT | B
4 | ROOT | B1
5 | ROOT | B11
6 | A | A1
7 | B | B1
8 | B | B11
9 | B1 | B11
---------------------------
Bir sınıf kendi branşında herhangi bir sınıf daha düşük Yani aslında tüm yüksek sınıfların bir çocuk. Bu kesinlikle bir özyineleme sorun olduğunu biliyorum ama gerçekten biraz yardım kullanabilirsiniz PHP için yeni. Ben mysql kullanıyorum. Ben de geriye doğru kateden olacağını belirtmek gerekir. Yani alt sınıfları ekleme duyuyorum. Bir örnek A11 olacağını eklemek için bir sonraki sınıf olur, ben daha sonra tüm yüksek sınıflarını bulmak ve onlara A11 ana sınıfları yapmak kadar çapraz gerekir.