Lekce 15 - Stromové menu z databáze v PHP
V minulé lekci, Dokončení paginace (stránkování) v PHP, jsme si dokončili paginační helper pro webové aplikace v PHP.
V dnešním tutoriálu se v PHP naučíme generovat stromové menu uložené v databázi.
Motivace
U jednoduchých webů nám obvykle postačí jednoduchá lineární navigace. Jakmile se web však začne zvětšovat a obsahovat více a více položek (produktů v e-shopu, článků v redakčním systému,...), je třeba tyto položky kategorizovat, aby se v nich uživatel vyznal a nalezl je tam, kde je očekává. Navigační menu je ta část webu, se kterou přichází uživatel jako první do styku a která by ho určitě neměla hned odradit. Menu větších webů jsou reprezentovaná jako stromy. Každý položka v sobě může obsahovat další podpoložky a tím se strom větví:

Naši implementaci si ukážeme na menu e-shopu, kde dává smysl strom rozvětvit co nejvíce. Výše vidíme grafickou reprezentaci stromové struktury položek menu v e-shopu, který prodává produkty pro domácnost. Totožný model (i zdrojový kód, který si později uvedeme) ovšem používám např. i při generování navigačního menu ITnetworku, které je také stromem, i když má jen 1 zanoření.
Menu bychom z databáze měli načíst jediným dotazem a vypsat ho správně zanořené. To vše si v tutoriálu ukážeme. Dokonce přidáme i JavaScript, který bude menu rozbalovat a nakonec naprogramujeme i editor položek v databázi.
Výsledné menu vypadá takto:

Databáze
Začneme samozřejmě návrhem databáze, abychom měli z čeho menu generovat. Vytvořte si novou
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu se naučíme efektivně vygenerovat stromové navigační menu z MySQL databáze v PHP jediným dotazem.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.