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:
En la línea 39 de ese archivo se ejecuta una query, que en el script que ejecuté primero andaba sin mayores inconvenientes.Fatal error: Maximum execution time of 60 seconds exceeded in C:\Program Files\xampp\htdocs\manantiales\urecovery\libs\db.p hp on line 39
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ñ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ñ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 ?.