Filozofie, jak postupovat při vypisování dvou mysql tabulek do jedné šablony
- rossini
- Člen | 26
Ahoj, už pěknou řádku let (cca týden) se peru s triviálním problémem, jak postupovat při takovémto návrhu → výsledný design by měl vypadat takto:
Nazev_kategorie_level_0
Nazev_kategorie_level_1, Nazev_kategorie_level_1, Nazev_kategorie_level_1
Nazev_kategorie_level_0
Nazev_kategorie_level_1, Nazev_kategorie_level_1, Nazev_kategorie_level_1
Nazev_kategorie_level_0
Nazev_kategorie_level_1, Nazev_kategorie_level_1, Nazev_kategorie_level_1
Nazev_kategorie_level0 je v jedné tabulce, Nazev_kategorie_level1 jsou v druhé tabulce. Mám SELECT:
SELECT [kategorie_level0.ID], [kategorie_level0.nazev], [kategorie_level1.nazev] AS nazevL1 FROM [kategorie_level0], [kategorie_level1] WHERE [kategorie_level1.Level0]=[kategorie_level0.ID]
Takže výsledek dostanu cca takto:
kategorie_level0.ID | kategorie_level0.nazev | kategorie_level1.nazev |
---|---|---|
1 | level0.nazev1 | level1.nazev1 |
2 | level0.nazev1 | level1.nazev2 |
3 | level0.nazev1 | level1.nazev3 |
4 | level0.nazev2 | level1.nazev1 |
5 | level0.nazev2 | level1.nazev2 |
6 | level0.nazev2 | level1.nazev3 |
7 | level0.nazev3 | level1.nazev1 |
8 | level0.nazev3 | level1.nazev2 |
9 | level0.nazev3 | level1.nazev3 |
… |
No a konečně šablona vypadá nějak takto:
<ul n:foreach="$hlavnikategorie as $kategorie">
<li>
<a href="#">{$kategorie -> level_0.nazev}</a>
<ul>
<li>
<a href="#">level_1.nazev1</a>
</li>
<li>
<a href="#">level_1.nazev2</a>
</li>
<li>
<a href="#">level_1.nazev3</a>
</li>
</ul>
</li>
</ul>
No a teď k jádru pudla. Vše si perfektně vypíšu a takto vytvořenou šablonou se mi vygeneruje správně opakující se <ul> s dynamicky dosazenými {$kategorie → level0.nazev} a natvrdo napsanými <li>. Jak ale do sebe vnořit další foreach tak, aby mi při jednom průběhu 3× vygenerovali to <li> a potom se otáčka vrátila na <ul>? Prostě hovadina, kterou nedokážu domyslet dokonce :(