Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2020, 10:38
kidinshell
 
Fecha de Ingreso: marzo-2013
Mensajes: 79
Antigüedad: 11 años
Puntos: 2
Funciones no muestran el resultado

Hola tengo un problema algo difícil de explicar.
Por lo visto una aplicación que tenía en php para gestionar imagenes de una página web ha dejado de funcionar, supongo que porque el php es viejo.

Haciendo pruebas me he dado cuenta de lo siguiente:
Tengo esta función que se supone que carga todas las categorías

funciones.php
Código PHP:
function cargar_menu ($idioma$padre=NULL){
    
$consulta =    ($padre===NULL)? mysqli_query($conexion"select * from categoria where categoria_padre is NULL order by orden"): mysqli_query($conexion"select * from categoria where categoria_padre=".$padre." order by orden");
    if (
mysqli_num_rows($consulta) == 0) return NULL;
    
$i=0;
    while (
$fila=mysqli_fetch_array($consultaMYSQLI_NUM)){
            
$menu[$i]=array("id_categoria"=>$fila[0], "nombre"=>$fila[1], "orden"=>$fila[5]);
            
$menu[$i]["hijos"]=cargar_menu ($idioma$fila[0]);
            
$i++;
    }
    return 
$menu;

Función que llamo en el php gest_menu.php
Código PHP:
default:
        
$tpl->loadTemplateFile("listar_menu.html");
        
$tpl->setVariable('active_web''class="active"');
        
cargar_cabecera($tpl);
       
$menu=cargar_menu('1');
            if (
$menu!=''){
            foreach (
$menu as $item){
            
mostrar_menu($tpl$item' ');
                
            }
        }
        else{
        
            
$tpl->setVariable('ver_lista''style="display:none;"');
            
$tpl->setVariable('mensaje''<h1>Aun no hay categorias subidas</h1>');
        } 
Si lo pongo así, me entra en el else y me dice que no hay categorías subidas, sin embargo si comento la llamada a la función y pruebo la función directamente talque así:

gest_menu.php
Código PHP:
default:
        
$tpl->loadTemplateFile("listar_menu.html");
        
$tpl->setVariable('active_web''class="active"');
        
cargar_cabecera($tpl);
       
// $menu=cargar_menu('1');
    
$consulta =    ($padre===NULL)? mysqli_query($conexion"select * from categoria where categoria_padre is NULL order by orden"): mysqli_query($conexion"select * from categoria where categoria_padre=".$padre." order by orden");
    if (
mysqli_num_rows($consulta) == 0) return NULL;
    
$i=0;
    while (
$fila=mysqli_fetch_array($consultaMYSQLI_NUM)){
            
$menu[$i]=array("id_categoria"=>$fila[0], "nombre"=>$fila[1], "orden"=>$fila[5]);
            
$menu[$i]["hijos"]=cargar_menu ($idioma$fila[0]);
            
$i++;
    }

        if (
$menu!=''){
            foreach (
$menu as $item){
            
mostrar_menu($tpl$item'&nbsp;');
                
            }
        }
        else{
        
            
$tpl->setVariable('ver_lista''style="display:none;"');
            
$tpl->setVariable('mensaje''<h1>Aun no hay categorias subidas</h1>');
        } 
Ahora me lista las categorías, de todas formas sigo sin ver los productos. Alguien sabe que está pasando?