![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 240 Pomógł: 13 Dołączył: 1.06.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Mam mały problem. Istnieje drzewo kategorii mające max. 3 poziomy (A-najwyższy, C-najniższy). Chcę zliczyć ilość rekordów w danej kategorii. Problem w tym, aby uwzględnić również rekordy ze wszystkich poziomów niższych niż wskazany. Np.
A - Śmieszne filmy --- B - Kabarety ------ C - Ani mru mru ---------- skecz 1 ---------- skecz 2 ---------- skecz 3 ------ C - KMN ---------- skecz 1 ---------- skecz 2 --- B - ukryta kamera ------ film 1 ------ film 2 ------ film 3 ------ film 4 Teraz jak zrobić aby optymalnie policzyć ilość filmików w kategorii Śmieszne filmy znając tylko id kategorii A? W BD są takie informacje jak ID, ID rodzica, BOOL czy ma dzieci czy nie. Np. Śmieszne filmy ID:1, rodzic:0 (nie ma rodziców), 1. Jakoś nie widzę tego, w obecnej strukturze BD, bez rekurencji a takie rozwiązanie mnie nie zadowala... Ten post edytował LonelyKnight 28.03.2009, 16:45:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 744 Pomógł: 118 Dołączył: 14.02.2009 Skąd: poziome Ostrzeżenie: (0%) ![]() ![]() |
po najmniejszej lini oporu to:
1. robisz zapytanie ktore liczy ile jest pozycji w danej subkategorii C, oraz id kategori B i A 2. pobierasz to do tablicy w php 3. robisz petle liczaca dla kazdej id kategori B sumujaca to co jest w C 4. zapisujesz do nowej tablicy 5. robisz petle liczaca dla kazdej id kategori A sumujaca to co jest w B 6. zapisujesz do nowej tablicy no a pozniej to juz tylko wyswietlasz (calosc zajmie 1 zapytanie) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 23:22 |