Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Tworzenie drzewka kategorii jednym zapytaniem
thomson89
post
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Witam!

Chciałbym utworzyć takie drzewko kategorii:
(IMG:http://ifotos.pl/img/drzewko_nreeas.png)

Jednym zapytaniem, na podstawie takiej tabelki:
(IMG:http://ifotos.pl/img/struktura_nreeqe.png)

Niestety kompletnie nie wiem jak się za to zabrać.

Obecnie, robię to poziomami. Łączę się z bazą, zapytanie pobieram kategorie 1-szego poziomu. Sprawdzam czy są kategorie które mają id tej kategorii w polu id_kategori_wyzszej... itd.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
celbarowicz
post
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 31
Dołączył: 30.03.2009
Skąd: Szczecin

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


wygląda na to, że trzy poziomy Tobie wystarczają napisz trzy zależne selekty i będzie OK STRUKTURA TABEL:
  1.  
  2. $sql="CREATE TABLE IF NOT EXISTS tabela_1(
  3. id_t1 int(9) NOT NULL auto_increment,
  4. nazwa_t1 varchar(30) NOT NULL ,
  5.  
  6. PRIMARY KEY klucz1 (id_t1)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; ";
  7.  
  8. mysql_query($sql) or die(mysql_error());
  9. //-----------------------------------------------------------
  10. $sql="CREATE TABLE IF NOT EXISTS tabela_2(
  11. id_t2 int(9) NOT NULL auto_increment,
  12. id_t1_w_t2 int(9) NOT NULL,
  13. nazwa_t2 varchar(30) NOT NULL,
  14. PRIMARY KEY klucz2 (id_t2 ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; ";
  15.  
  16. //-----------------------------------------------------------
  17. $sql="CREATE TABLE IF NOT EXISTS tabela_3(
  18. id_t3 int(9) NOT NULL auto_increment,
  19. id_t2_w_t3 int(9) NOT NULL,
  20. nazwa_t3 varchar(30) NOT NULL,
  21. PRIMARY KEY klucz3 (id_t3 ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; ";
  22.  
  23. //-----------------------------------------------------------
  24. $sql="CREATE TABLE IF NOT EXISTS tabela_4(
  25. id_t4 int(9) NOT NULL auto_increment,
  26. id_t3_w_t4 int(9) NOT NULL,
  27. opis_fotki varchar(255) NOT NULL,
  28. nazwa_fotki varchar(255) NOT NULL,
  29. wyswietlanie varchar(1) NOT NULL,
  30.  
  31.  
  32. PRIMARY KEY klucz3 (id_t4 ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci; ";
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  

PATRZ poznam.yoyo.pl na razie ze względu na brak czasu umieściłem jedną galerię kraj->pPolska->szczecin,
Go to the top of the page
+Quote Post

Posty w temacie
- thomson89   Tworzenie drzewka kategorii jednym zapytaniem   21.03.2010, 20:04:13
- - WebSee   Pobierzesz, to jednym zapytaniem, tylko musisz odp...   21.03.2010, 20:12:03
- - Mchl   Jednym uniwersalnym zapytaniem nie da się. Drzewa ...   21.03.2010, 20:12:51
- - zegarek84   można to posortować i poukładać jednym zapytaniem....   21.03.2010, 22:03:43
- - wookieb   Do tego typu zadań idealne jest drzewo left right,...   21.03.2010, 22:41:30
- - m44   Jednakże wadą metody z left + right jest to, że ni...   21.03.2010, 23:23:40
- - Crozin   CytatJednakże wadą metody z left + right jest to, ...   21.03.2010, 23:30:30
- - celbarowicz   wygląda na to, że trzy poziomy Tobie wystarczają ...   22.03.2010, 08:46:01
- - icetique   Albo zainteresuj się doctrine. http://www.doctri...   22.03.2010, 09:05:22
- - Crozin   @icetique: Jak jest związek pomiędzy strukturą drz...   24.03.2010, 00:48:11
- - icetique   Ślepy? Doctrine obsługuje drzewa... Nie wiem, czy...   24.03.2010, 07:48:03
- - Crozin   - Chcę odsłuchać sobie płytę CD, jak to zrobić? - ...   24.03.2010, 13:17:36
- - icetique   Raczej tak bym to ujął: - Chcę odsłuchać sobie pł...   24.03.2010, 17:15:02
- - aio   No to żeby nie było sporu o to czy kupować samochó...   25.03.2010, 12:12:43
- - Mchl   Funkcja fajna, ale trudno to nazwać 'jednym za...   25.03.2010, 15:27:46
- - wookieb   Panienki przecież podano rozwiązanie. Drzewo left ...   25.03.2010, 15:32:19
- - aio   Cytat(wookieb @ 25.03.2010, 15:32:19 ...   25.03.2010, 23:50:12


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: 14.10.2025 - 16:47