Vytvoření menu z databáze
- CJHornster
- Člen | 56
Zdar lidi, mám problém. Mám db kde mám uložené kategorie z kterých chci vytvořit menu
Zde je příklad DB:
CREATE TABLE IF NOT EXISTS `kategorie` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`first` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_czech_ci NOT NULL,
`second` varchar(255) CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
INSERT INTO `kategorie` (`id`, `first`, `second`) VALUES
(20, 'Šaty', 'Ostatní'),
(21, 'Šaty', 'Dlouhé šaty'),
(22, 'Šaty', 'Krátké šaty'),
(23, 'Šaty', 'Večerní šaty'),
(24, 'Plavky', 'Ostatní'),
(25, 'Plavky', 'Jednodílné'),
(26, 'Plavky', 'Dvoudílné');
potřeboval bych z first vždy vzít jednoho a k němu přidělit všechyn jeho podkategorie (second). Po kliknutí na menu se budou vykreslovat v pohledu jednotlivé položky z jiné tabulky v DB
- CJHornster
- Člen | 56
ok dík, moje řešení mě přišlo trochu jednoduší, ale asi budu muset použít rekurzivní :(
- Michal Vyšinský
- Člen | 608
CJHornster napsal(a):
ok dík, moje řešení mě přišlo trochu jednoduší, ale asi budu muset použít rekurzivní :(
Ono ti to teď možná připadá jednodušší, ale co když budeš chtít přejmenovat „Šaty“ na „Dámské šaty“. A navíc takhle zbytečně duplikuješ data.
Edit: nebo nedej bože, aby přibyla další podkategorie např. mezi „Šaty“ a „Krátké šaty“ :D
Editoval CherryBoss (9. 7. 2013 14:44)
- CJHornster
- Člen | 56
Dík za rady, tak sjem upravil tabulku a nějak vytvořil tabulku s vypisem, ale nějak nevím jak z toho získat tu url pro a:href
potřeboval bych něco na styl
wwwstranka/kategorie/saty/dlouhe-saty/jmeno-satu
nějak moc nechápu jak to naroutit saty/dlouhe-saty bude v tabulce kategorie,
jmeno satu bude v tabulce se šaty
<table class="tasks">
<thead>
<tr>
<th class="hlcat">Hlavní kategorie</th>
<th class="spojovnik-sipka"> </th>
<th class="podcat">Podkategorie</th>
</tr>
</thead>
<tbody>
{foreach $allcategories as $main}
<tr n:class="$iterator->isOdd() ? odd : even">
<td class="first-cat">{$main->NAME }</td>
<td class="spojovnik-sipka"> : </td>
<td class="action"> </td>
{foreach $allsubcategories as $submain}
{if $submain->PARENT_ID !== 0 and $submain->PARENT_ID === $main->ID}
<tr>
<td class="first-cat"> </td>
<td class="spojovnik-sipka"> </td>
<td class="action"><a n:href="$submain->NAME">{$submain->NAME}</a></td>
</tr>
{/if}
{/foreach}
</tr>
{/foreach}
</tbody>
</table>
Editoval CJHornster (10. 7. 2013 21:02)
- CJHornster
- Člen | 56
no to už mam pročtený asi 10 krát :D ale nějak nechápu jak z toho menu dostanu wwwstranka/kategorie/saty/dlouhe-saty/jmeno-satu
potřeboval bych po kliknutí na hlavní_kategorii vypsat jednotlivé
podkategorie a url ve stylu:
wwwstranka/kategorie/saty
potom po kliknutí na podkategorii:
wwwstranka/kategorie/saty/dlouhe-saty
a po klidnutí na daný předmět:
wwwstranka/kategorie/saty/dlouhe-saty/jmeno-satu
zkouším to routovat podle toho návodu, ale vůbec mě to nejde :(
Editoval CJHornster (11. 7. 2013 11:20)