Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/03/2011, 20:58
ramiromd
 
Fecha de Ingreso: agosto-2010
Mensajes: 100
Antigüedad: 13 años, 8 meses
Puntos: 2
Fatal error: Maximum execution time of 60 seconds

Buenas, en un colegio donde estoy laburando me pidieron que les imprima la lista de alumnos y padres con sus respectivos usuarios y contraseñas para un sistema que tienen armado para el menú de los chicos.
Armé un script en PHP que se conecta a la bd y consigue los datos. Lo probé desde el navegador en mi localhost y andaba. Pero para mejorar el formato de la impresión de los datos quise imprimir los datos en un pdf.
Para eso utilizo la librería fpdf. Y creo que ahí viene el problema, porque cuando ejecuto el script me devuelve el siguiente error (después de un rato de trabajar):
Cita:
Fatal error: Maximum execution time of 60 seconds exceeded in C:\Program Files\xampp\htdocs\manantiales\urecovery\libs\db.p hp on line 39
En la línea 39 de ese archivo se ejecuta una query, que en el script que ejecuté primero andaba sin mayores inconvenientes.
Los códigos son estos:

Código PHP:
<?php

# Muestra para cada alumno su user y pass.
# Al igual que el de sus padres.

include('libs/db.php');
include(
'libs/pdf/fpdf.php');
conectar();

$pdf=new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial');

$tot 0;
$query "SELECT u.idusuario FROM usuarios u";
$res mysql_query($query);
if (
$res == false){
  echo 
"Fallo la consulta.<br/>";
}else{
  while (
$row mysql_fetch_array($res)){
    if (
esAlu($row[0]) == true){
      
$dat nomAlu($row[0]);
      
$pdf->Cell(40,10,$dat);
      
$pdf->Ln();
      
$dat "<br/>".usAlu($row[0]);
      
$pdf->Cell(40,10,$dat);
      
$pdf->Ln();
      
#datPad($row[0]);
      
$tot $tot 1;
    }
  }
}
$pdf->Output();
echo 
"<br/>Resumen:<br/>".$tot." alumnos procesados.";
?>
Código PHP:
<?php
function conectar(){
# Info db:
..........................
}

function 
esAlu($id){
  
$query "SELECT * FROM alumno WHERE alumno.IdUsuario = $id";
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Error en la consulta de alumno.";
  }else{
    if (
mysql_num_rows($res) == 1){
    return 
true;
    }else{
    return 
false;
    }
}
}

function 
yearAlu($id){
  
$query "SELECT * FROM alumno WHERE alumno.IdUsuario = $id";
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Error en la consulta de cursada.";
  }else{
    return 
$row[1];
  }
}

function 
nomAlu($id){
  
$query "SELECT * FROM usuarios u WHERE u.idusuario = $id";
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Fallo la consulta de datos de alumno.";
  }else{
    
$row mysql_fetch_array($res);
    
$text =  "ALUMNO: ".$row[6].", ".$row[7]."<br/>";
    return 
$text;
  }
}

function 
usAlu($id){
  
$query "SELECT * FROM usuarios u WHERE u.idusuario = $id";
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Fallo la consulta de datos de alumno.";
  }else{
    
$row mysql_fetch_array($res);
    
$text =  "Usuario: ".$row[10]." - Contrase&ntilde;a: ".$row[11]."<br/>";
    return 
$text;
  }
}

function 
datPad($id){
  
$query "SELECT u.apellido, u.nombre, u.nombreusuario, u.clave, arr.Alumno_IdUsuario AS Alumno
        FROM alumno_relacion_responsable AS arr INNER JOIN usuarios AS u ON arr.Responsable_IdUsuario = u.IdUsuario
        WHERE $id = arr.Alumno_IdUsuario"
;
  
$res mysql_query($query);
  if (
$res == false){
    echo 
"Error en la consulta de datos de datos de padres.";
  }else{
    echo 
"PADRES:<br/>";
    while (
$row mysql_fetch_array($res)){
      echo 
$row[0].", ".$row[1]."<br/>";
      echo 
"Usuario: ".$row[2]."<br/>";
      echo 
"Contrase&ntilde;a: ".$row[3]."<br/>";
    }
  }
}
?>
Apriori se me ocurrió cambiar el valor de max_execution_time del php.ini a 0. Pero aún así devuelve el mismo mensaje.
Alguna sugerencia ?.