Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Maximum execution time

Estas en el tema de Maximum execution time en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola,, al hacer una consulta a un par de tablas y recorrerlas en memoria obtengo un error raro: fatal error: Maximum execution time of 60 ...
  #1 (permalink)  
Antiguo 18/03/2010, 08:44
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 6 meses
Puntos: 1
Maximum execution time

Hola,, al hacer una consulta a un par de tablas y recorrerlas en memoria obtengo un error raro:

fatal error:
Maximum execution time of 60 seconds exceeded in ruta\ABM.php on line 26

la linea del error es aleatoria, aveces es antes otras mas adelante.

El código es el siguiente:

Código PHP:

$alu 
= new Alumno();
    
$alu->definirConexion($c);
    
$hor = new Horario();
    
$hor->definirConexion($c);
    if( 
$hor->consulta(1))
    {
        do
        {
            if (
$hor->curso->observaciones '2010')
            {
                
$lunes_desde substr($hor->lunes_desde05);
                
$lunes_hasta substr($hor->lunes_hasta05);
                
$martes_desde substr($hor->martes_desde05);
                
$martes_hasta substr($hor->martes_hasta05);
                
$miercoles_desde substr($hor->miercoles_desde05);
                
$miercoles_hasta substr($hor->miercoles_hasta05);
                
$jueves_desde substr($hor->jueves_desde05);
                
$jueves_hasta substr($hor->jueves_hasta05);
                
$viernes_desde substr($hor->viernes_desde05);
                
$viernes_hasta substr($hor->viernes_hasta05);
                
$sabados_desde substr($hor->sabados_desde05);
                
$sabados_hasta substr($hor->sabados_hasta05);
                
$domingos_desde substr($hor->domingos_desde05);
                
$domingos_hasta substr($hor->domingos_hasta05);
    
                if (
$hor->lunes_desde<>0)
                
$horario.="Lunes ".$lunes_desde." a ".$lunes_hasta."hs. ";
                if (
$hor->martes_desde<>0)
                
$horario.=" Martes ".$martes_desde." a ".$martes_hasta."hs. ";
                if (
$hor->miercoles_desde<>0)
                
$horario.=" Miercoles ".$miercoles_desde." a ".$miercoles_hasta."hs. ";
                if (
$hor->jueves_desde<>0)
                
$horario.=" Jueves ".$jueves_desde." a ".$jueves_hasta."hs. ";
                if (
$hor->viernes_desde<>0)
                
$horario.=" Viernes ".$viernes_desde." a ".$viernes_hasta."hs. ";
                if (
$hor->sabados_desde<>0)
                
$horario.=" Sabados ".$sabados_desde." a ".$sabados_hasta."hs. ";
                if (
$hor->domingos_desde<>0)
                
$horario.=" Domingos ".$domingos_desde." a ".$domingos_hasta."hs. ";
                
                
//imprimo titulo
                
echo "<table>Codigo Curso: $hor->id_horario/$hor->id_curso  ****** Profesor:".$hor->profesor->apellido.", ".$hor->profesor->nombre."  ***** Curso: ".$hor->curso->nombre."  ****** CL: ".$hor->curso->observaciones."   *****  Horario: $horario</table>";
                echo 
"<table>----------------------------------------------------------------------</table>";
                
                if(
$alu->consulta(" fecha_baja = '0000-00-00' and fecha_recepcion = '0000-00-00' ")) //consulto los alumnos que estan activos
                
{
                        do 
//muestro todos los alumnos para ese horario
                        
{
                          if (
$alu->id_horario == $hor->id_horario)
                          {
                              
$cantAlu += 1;
                              echo(
"<table>".$cantAlu." - ".$alu->matricula." ".$alu->mat->apellido." ".$alu->mat->nombre."</table>"); 
                          }
                        }while(
$alu->siguiente()); 
                        
$alu->liberar();
                            
                        echo 
"<table>&nbsp;</table>";
                        echo 
"<table>&nbsp;</table>";
                            
                        
$cantAlu 0;
                        
$horario='';
                }
            }
        }while(
$hor->siguiente());
        
$hor->liberar();
      } 
NO entiendo donde esta el exceso de tiempo, la unica tabla con mas registros es Alumnos -300- el resto tienen no mas de 40 registros.

El listado aparece en pantalla, pero se trunca de repente con dicho error.

Gracias
  #2 (permalink)  
Antiguo 18/03/2010, 10:35
 
Fecha de Ingreso: marzo-2006
Mensajes: 44
Antigüedad: 18 años, 1 mes
Puntos: 4
Respuesta: Maximum execution time

Sin ver que hace el método siguiente() no sabría decirte con seguridad por qué falla, pero te falta un = en la línea:

if ($hor->curso->observaciones = '2010')

Estás asignando en vez de comparando, quizás eso influye en que se cree un bucle infinito o algo.
  #3 (permalink)  
Antiguo 18/03/2010, 13:31
 
Fecha de Ingreso: octubre-2007
Mensajes: 267
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: Maximum execution time

Si, pero no es el problema. Gracias igual.

Etiquetas: time
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:35.