Ver Mensaje Individual
  #18 (permalink)  
Antiguo 13/10/2014, 14:26
macius
 
Fecha de Ingreso: marzo-2003
Ubicación: Gandia, Valencia, España
Mensajes: 55
Antigüedad: 22 años
Puntos: 3
Respuesta: Dudoso error de sintaxis de 1 línea PHP

Hola,

creo que para empezar podrías simplificar el código y la legibilidad utilizando combinación de comillas simples y dobles

Código PHP:
         $html .= '<li><a href="pagina.php?opcion='.$id_menu.'">'.$menu[$id_menu]['menu_nombre'].'</a>'
Creo que lo que tratas de mostrar es un árbol de categorías, si buscas información sobre esto, será mucho más sencillo que encuentres ejemplos que te puedan hacer entender mejor.

Código PHP:
function cargaMenu($mysqli) {
    
$sql "SELECT * FROM productos";
    
$res $mysqli->query($sql);
    while(
$row $res->fetch_assoc()) {
      
$menu['nombres'][$row['productos_id']] = $row['productos_nombre'];
      
$menu['padres'][$row['productos_parent_id']] = $row['productos_parent_id'];
    }

    return 
$menu;
}

//--

function menu($id_padre$menu) {

    
$html "<ul>\n";
    foreach(
$menu['nombres'][$id_padre] as $productos_id => $productos_nombre) {
        
$html .= '<li><a href="pagina.php?opcion='.$productos_id .'">'.$productos_nombre.'</a>';
        if (isset(
$menu['padres'][$productos_id ])) { $html .= menu($productos_id$menu); }
        
$html .= "</li>\n";
    }

    
$html .= "</ul>\n";

    return 
$html;


He separado el array en dos para no tener índices de texto y numéricos juntos, de esta forma tienes por un lado los nombres y por el otro las que tienen padres. De este modo el array de los nombres además te permite recorrerlo mucho más sencillamente.

P.D. No lo he verificado en un editor de código.

Suerte
__________________
Sueño luego existo