Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Zapytanie do bazy danych.
kondzik
post 2.12.2014, 19:24:33
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 6.10.2014

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


Witam,

Mam taką tabelę:
1) id_kategorii
2)nazwa
3)id_rodzica

Przykładowe dane w tabeli:
1, kategoria1, NULL
2, kategoria2, NULL
3, kategoria3, NULL
4, podkategoria1, 1
5, podkategoria2, 1
6, podkategoria3, 1
7, subkategoria1, 4
8, subkategoria2, 4

Tabele wykorzystuję do forum z trzema poziomami kategorii, rekordy które mają id_rodzica = NULL są głównymi kategoriami reszta to podkategorie i subkategorie. Moje pytanie brzmi: jak stworzyć zapytanie aby zliczało mi ilość wszystkich podkategorii i subkategorii które zawiera dana kategoria główna? czyli np dla "kategoria1" zwróciło wartość 5 itd.

Proszę o pomoc smile.gif

Ten post edytował kondzik 2.12.2014, 19:48:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
mokry
post 4.12.2014, 13:06:05
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

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


W Twojej strukturze tabeli możesz użyć zapytania do zliczenia tylko jednego zagłębienia, np:
  1. SELECT id_kategorii, nazwa, id_rodzica, (SELECT count(1) FROM kategorie WHERE id_rodzica=cct.id_kategorii) AS ile_podkategorii
  2. FROM kategorie cct


Jeżeli chcesz użyć bardziej kompleksowej wersji kategorii, proponuję użyć modelu MPTT:
http://mikehillyer.com/articles/managing-h...-data-in-mysql/


--------------------
Pomogłem? Podziękuj proszę klikając poniżej "POMÓGŁ" ;)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 20:03