Diskuze: dynamicke menu (li)
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Pokud se dívám správně, tak špatně vypisuješ to submenu - procházíš
jednotlivé položky hlavního menu a ke všem vypisuješ všechny položky
submenu.
Je více možností, jak to udělat. Jednoduchý příklad:
$menus = Db::queryAll('SELECT * FROM '.MENU.'');
echo "<ul>";
foreach ($menus as $menu) {
$submenus = Db::queryAll("SELECT * FROM " . SUBMENU . " WHERE menu_id = ?", $menu["id"]);
echo "<li>";
if (!empty($submenus)) { // pokud se nějaké řádky našly
echo "<ul>";
foreach ($submenus as $submenu) {
echo "<li>" ... "</li>";
}
echo "</ul>";
}
echo "</li>";
}
echo "</ul>";
Druhá možnost, která mě teď napadla, je ta, že bys to submenu
nenacházel jednotlivě v tom foreach, ale nalezl všechny řádky a uložil si
je pod klíčem ID menu.
Tzn. že by to vypadalo nějak takhle
$submenus = array(
3 => array(
...
),
5 => array(
...
)
)
// klíče = ID menu
pak bys v tom foreach jen napsal
if (isset($submenus[$menu["id"]])) {
// menu obsahuje submenu
}
Ono to jde tak jednoduše a já se s tím patlal pár hodin
Díky zkusil jsem první řešení a pomohlo .
To jsi na tom ještě v poho, já se dokážu patlat pár hodin s věcí, ve který nakonec ani chyba není.
Zobrazeno 4 zpráv z 4.