Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zlozone zapytanie
Forum PHP.pl > Forum > Bazy danych > MySQL
lemming
Mam takie cos:
Struktura bazy z kategoriami:
Kod
id    |   nazwa   |   parent
1     |   test       |  0
2     |   test2     |  1
3     | test3       |   3

Zapytanie MySQL do wyswietlania newsów
  1. <?
  2. $db->query(&#092;"SELECT * FROM newsy WHERE kat_id='\".intval($_GET[k_id]).\"'\");
  3. ?>

i jak wejde sobie na strone: news.php?k_id=2 wyswietli mi wszystkie newsy z kategorii 2. A jak widzimy kategoria 2 ma podkategorie, problem w tym ze chce wyswietlic newsy z kategorii 2 i jej podkategorii (z podkategorii jesli sa w niej newsy), tylko nie moge sobie poradzic z utworzeniem dobrego zapytania :/
BENY_PL
ja bym zrobił taką bazę
Kod
id |  kat  | podkategorie
1  | news  | beny_1<>beny_2
2  | lol_2 | 0
3  | dfds  | beny_3<>beny_4<>beny_5



Potem odczytujesz linijkę o ID jakim chcesz (to wiesz jak zrobić).
Potem sprawdzasz czy kolumna podkategrie jest różna od zera.
Jeśli tak to używasz funkcji explode() tu jako rozdzielenie użyłem "<>" ale możesz użyć np. "||" wtedy będzie czytelniej.
enceladus
Temat wielokrotnie "molestowany" na forum Polecam leturę artykułu depesza ( http://www.depesz.pl ) o reprezentacji drzew w bazach danych.
BTW. Sztuczki z explode/implode stoją w opzycji do koncepcji relacyjnych baz danych.
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.