![]() |
![]() ![]() |
![]() |
![]()
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 -------------------- Good programming is 99% sweat and 1% coffee.
Make it idiot proof and someone will make a better idiot... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 23 Dołączył: 2.12.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Próbuj może w ten desen:
Miałem kiedyś podobną strukturę, i podobnie chciałem liczyć jak Ty. Oczywiście w tym zapytaniu trzeba będzie pozmieniać trochę ![]() Wyślij mi zrzuty z MySQL, chętnie pomogę, wrona.maciej na gmailu. Pozdrawiam -------------------- Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem
WRONA.IT - pozycjonowanie stron www.ecyklopedia.pl |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 240 Pomógł: 13 Dołączył: 1.06.2007 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Podbijam. Ma ktoś pomysł? Próbowałem z czymś takim:
...ale nie zlicza prawidłowo i nie wiem ile jest filmów u rodzica najwyższego poziomu.
Może to być tak średnio optymalne bo i tak będzie odpalane cronem co jakiś czas, jednak 1000 zapytań wolałbym uniknąć ;-) Ten post edytował LonelyKnight 22.05.2009, 12:02:44 -------------------- Good programming is 99% sweat and 1% coffee.
Make it idiot proof and someone will make a better idiot... |
|
|
![]()
Post
#4
|
|
![]() 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) -------------------- śmieszne obrazki
Kryzys: Ser jem spleśniały, wino piję stare i samochód mam bez dachu.. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 4.07.2025 - 20:29 |