Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][SQL] Drzewka kategorii - wyświetlanie rekordów "wstecz"
matix
post
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Witajcie.

Może ten temat nie za bardzo do was przemawia, więc trochę bardziej opiszę ten problem.
Mam bowiem zwykłe drzewka kategorii opartych o pole parent_id. No i powiedzmy kategorie wyglądają tak:

Kod
/ Pierwsza (parent_id = 0, id = 1)
  - podkategoria (parent_id = 1, id=4)
  - podkategoria 2 (parent_id = 1, id = 5)
       + podkategoria podkategorii drugiej (parent_id = 5, id = 6)
/ Druga (parent_id = 0, id = 2)
/ Trzecia (parent_id = 0, id = 3)


Problem polega na tym, że w tych kategoriach umieszczam filmy. I gdy wchodzę do Kategorii Pierwsza (id = 1) to potrzebowałbym pobrać listę powiedzmy 10 najnowszych filmów z wszystkich jej dzieci.

Jak do tego podejść?
Jedyne co przychodzi mi do głowy to zapytanie w stylu:

  1. SELECT cms_movies.* FROM `cms_movies` WHERE `cms_movies`.movie_id IN ( SELECT .... UNION ALL SELECT ... )

Ale nie do końca chyba jestem w stanie to przewidzieć. Ktoś ma jakieś pomysły? smile.gif

Pozdro smile.gif


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




W takich przypadkach stosuje się drzewo lewo, prawo (left right).
http://www.google.pl/#hl=pl&source=hp&...804a89cea128776


--------------------
Go to the top of the page
+Quote Post
matix
post
Post #3





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Też już do tego doszedłem, ale akurat w tym projekcie jest taka struktura bazy i nie mam za bardzo możliwości zmiany tego.


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




No a nie lepiej po prostu przerobić na drzewo left,right bo w przeciwnym wypadku twoje rozwiązanie może być (podkreślam "może" - czyli na małej ilości danych będzie ok, na większych tragedia) bardzo nie wydajne. (nie określiłeś do końca pojęcia "nie mam możliwości")

Pozostaje ci jedynie stworzenie procedury, która pobierze Ci wszystkie dzieci od danego elementu.
Niestety nie mam takiej gotowej, żebym mógł podać.

Ten post edytował wookieb 7.02.2010, 13:48:54


--------------------
Go to the top of the page
+Quote Post
matix
post
Post #5





Grupa: Zarejestrowani
Postów: 278
Pomógł: 10
Dołączył: 13.02.2007
Skąd: Rybnik

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


Po prostu aplikacja już działa i jest wykodzona. Potrzebuję jednak zrobić cały listing i niestety potrzebne mi to jest. Wyniki będzie można lajtowo cache-ować na dłuugi czas.
Najważniejsze jest, by dobrze to zapytanie napisać.


--------------------
Nawet, jeżeli nie jesteś zainteresowany usługami IT ani outsourcingiem, a Twoją pasją jest programowanie - zobacz naszą stronę. Piszemy dużo fajnych use-caseów, jak podchodzimy do tematu programowania dla naszych klientów. A tak na co dzień tworzymy budujemy mvp oraz tworzymy platformę b2b.
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 Aktualny czas: 21.08.2025 - 22:56