El desafío ahora es sumar los hijos de las categorías, agregando "(número)", por ejemplo, de esta forma:
Código HTML:
Ver original
Categoria_a (5) Categoria_b (12) Categoria_c (0)
Código del Menú:
Código PHP:
Ver original
// Cargamos opciones del menú function cargaMenu($mysqli) { // Falta una columna que permita seleccionar orden // Ahora se muestran como fueron dados de alta $sql = "SELECT * FROM productos"; $res = $mysqli->query($sql); while($row = $res->fetch_assoc()) { $id_padre = $row['productos_parent_id']; // Verificamos si existe el menú padre o lo creamos // Agregamos ID del elemento actual al padre $menu[$id_padre][] = $row['productos_id']; // Agregamos el elemento actual al arreglo 'todos' $menu['todos'][$row['productos_id']] = $row; } return $menu; } // Mostramos menú function menu($id_padre, $hijos, $menu) { $html = "<ul>\n"; foreach($menu[$id_padre] as $id_menu) { $html .= '<li><a href="pagina.php?opcion='.$id_menu.'">'.$menu['todos'][$id_menu]['productos_nombre'].'</a>'; // Este menú tiene hijos? //Si quiero ver los hijos if($hijos=="ver_hijos") { $html .= menu($id_menu, $hijos, $menu ); } //o no verlos if($hijos=="ocultar_hijos "){ } } $html .= "</li>\n"; } $html .= "</ul>\n"; // Devuelve el valor return $html; } // Lo hacemos funcionar $mysqli = crearConexion(); $menu = cargaMenu($mysqli); // Mostramos menú, padre=0 para menú principal echo menu(1, "ocultar_hijos", $menu);
Esto muestra en pantalla:
Código HTML:
Ver original
Categoria_a Categoria_b Categoria_c
No sé por donde empezar, creería uso de un arreglo, luego agregarlo a algo como esto:
Código PHP:
$html .= '<li><a href="pagina.php?opcion='.$id_menu.'">'.$menu['todos'][$id_menu]['productos_nombre'];
$html .=" ( aquí número )";
$html .='</a>';