Portál AbcLinuxu, 12. května 2025 21:47

Dotaz: PHP a výpis dat z mysql

28.4.2011 13:10 Jirka
PHP a výpis dat z mysql
Přečteno: 732×
Odpovědět | Admin
Ahoj, potřeboval bych poradit jak můžu vypsat data z mysql když znám id které není koncové pro kategorii. V mysql mám dvě tabulky

Tabulka `kategorie`
id rodice kategorie

1 0 1-úroveň-Ovoce
2 0 1-úroveň-Zelenina
3 0 1-úroveň-Jiné rostlinky

4 1 2-úroveň-Jahody
5 1 2-úroveň-Mandarinky
6 1 2-úroveň-Višně
7 1 2-úroveň-Banány

8 4 3-úroveň-Malinké jahody
9 4 3-úroveň-Velké jahody

10 5 3-úroveň-Malinké mandarinky
11 5 3-úroveň-Velké mandarinky
Tabulka `produkty` 

id id_kategorie produkty
1 8 Nějaký text1
2 8 Nějaký text2
3 10 Nějaký text3
4 11 Nějaký text3
a znám id pro tabulku kategorie treba 1 což je 1-úroveň-Ovoce a potřebuji vypsat vsechny řádky z tabulky produkty které tyto kategorie obsahují, v tomto případě všechny kategorie 2 , 3, 4, 5 atd.. úrovně atkteré odkazuji na id 1

Vůbec nevím jak se tohle řeší. Díky za pomoc
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.4.2011 14:11 12345 | skóre: 41 | blog:
Rozbalit Rozbalit vše Re: PHP a výpis dat z mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Doporučuji nastudovat místní článek Stromy v SQL. Osobně jsem si implementoval DFS strom a mám s ním dobré zkušenosti.
29.4.2011 00:37 l0gik | skóre: 22
Rozbalit Rozbalit vše Re: PHP a výpis dat z mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obecně jsou dvě možnosti: - levopravé očíslování stromu (tušim, že v češtině jsem to viděl vcelku dobře popsaný Jakub Vrána na blogu) - CTE recursive queries (rekurzivní CTE dotazy)

První z nich je stará technika, která funguje všude, druhá z nich je čistější, pro měnící se záznamy daleko výkonnější technika, která má jedinej problém: co vim, tak ji MySQL (ať 12 let starej standard) nepodporuje. Takže bych doporučil nejspíš přejít na postgresql, pokud nelze, tak první přístup. Třetí možnost je poskládat dotazy pro jednotlivý úrovně sám (nejlíp pomocí uložený procedury), ale to bude řešení suveréně nejhorší.

Na obě techniky najdeš dostatečně materiálu na webu, tak to pohledej a kdyžtak se doptej na to, co Ti není jasné.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.