Dónde está el
return $html; ?
Código PHP:
Ver original// Mostramos menú
function menu($id_padre, $menu) {
$html = "<ul>\n";
foreach($menu[$id_padre] as $id_menu) {
$html .= "<li><a href=\"pagina.php?opcion=$id_menu\">{$menu[$id_menu]['productos_nombre']}</a>";
// Este menú tiene hijos?
if(isset($menu[$id_menu])) { $html .= menu($id_menu, $menu);
}
$html .= "</li>\n";
}
$html .= "</ul>\n";
// Aquí deberías devolver el valor
}
// Lo hacemos funcionar
$mysqli = crearConexion();
$menu = cargaMenu($mysqli);
// Mostramos menú, padre=0 para menú principal
echo menu(0, $menu);
Por cierto, tu editor muestra todas las cadenas en color rojo, la línea 43, aunque contiene variables que serán interpretadas, es una simple cadena, por eso no hay cambio en los colores.