Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

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í:

Stromové navigační menu pro web

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:

Stromové navigační menu v PHP

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

Znalosti v hodnotě stovek tisíc získáš za pár korun

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.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš s Provozními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • 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.
Článek pro vás napsal David Hartinger
Avatar
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity