Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kategorie & pod kategorie
Forum PHP.pl > Forum > PHP
maly_pirat
Cześć.

W jaki sposób skonstruować tabelę SQL / funkcje PHP aby wyświetlić zarówno kategorie jak i podkategorie dołączone do głównej kategorii?

Na aktualną chwilę tabele kategorie mam w następujący sposób: | id | nazwa | opis |
A system newsów mniej więcej tak: | id | nazwa | kategoria (id) | text |

Tylko nie mam zielonego pojęcia jak zaprojektować tabele, a nawet napisać kod aby wyświetlić pod kategorie.
Aby było w postaci:
Kod
==> KATEGORIA #1:
-------> POD KATEGORIA #1 (o ile istnieje)
-------> POD KATEGORIA #2

==> KATEGORIA #2:
Matimor
Musisz zrobić pierw kategorię o ID załóżmy 1, później robisz zapytanie i dajesz warunek WHERE `kategoria`=1, przykład:

plik: news.php
  1. $category = is_numeric($_GET['category']);
  2. $query = mysql_query(sprintf("SELECT * FROM `news` WHERE `category`=".$category.""));
  3. while($row = mysql_fetch_array($query))
  4. {
  5. //Tutaj będzie pokazywać wszystkie newsy o category z linku np. news.php?category=1
  6. $row = mysql_fetch_array($query)
  7. }
gothye
tabela SQL powinna wyglądać mniej więcej tak :

| id | nazwa | opis | parent

kategorie główne będą miały parent = 0 a ,podkategorie <> 0 czyli id rodzica
maly_pirat
Właśnie też coś myślałem nad utworzeniem nowej kolumny w tabeli kategorii (np. parent, 0 - kategoria, 1 - pod kategoria, ale..
Będę musiał dodać jeszcze jedną kolumnę, czy nie? Weźmy spójrzmy w strukturę tabeli kategorii:

| id | nazwa | opis | parent |
Kod
1 | PHP | Wszystko o PHP | 0
2 | MySQL | Wszystko o MySQL | 0
3 | Podstawy | Sub dział dla PHP | 1


Będzie konieczne dodanie nowej kolumny np. ID-KATEGORII, jeżeli parent == 1, bo jak inaczej utworzę drzewko w postaci jak podałem w pierwszym poście.

Zgadza się? czy istnieje inne rozwiązanie?
gothye
W swoim pierwszym poście również masz ID kategori na początku tabeli,więc o co chodzi ?
viking
Zobacz sobie: http://www.depesz.com/?s=sql+trees
Na stronie była cała seria artykułów o drzewkach włącznie z zapytaniami. Dla postgresa ale nie napisałeś jaka baza.
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.