Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Zapytanie do bazy danych.
kondzik
post
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 (IMG:style_emoticons/default/smile.gif)

Ten post edytował kondzik 2.12.2014, 19:48:28
Go to the top of the page
+Quote Post
mokry
post
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/
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 08:58