Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] Zapytanie do bazy danych.
Forum PHP.pl > Forum > Bazy danych
kondzik
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
mokry
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/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.