Problemas con PHP y MySQL

Hola David, te envío un cordial saludo.
Te comento que se me esta presentando un problema el cual me arroja como error el siguiente:
Fatal error: maximum execution time of 30 seconds exceded.
Tengo una tabla con 22 campos, es completamente obligatorio y un tome máximo de 220 registro. Cuando mando a actualizar solo actualizo todos los registros de un campo eso lo hago con un for más un update. Obervacion solo un campo no todos.
Esto me funciona hasta el campo 12, pero del campo 13 en adelante me sale este error.
Te envio una peuqña guia para que veas como lo estoy haciendo:
if ($varlista==1)
{
for($i=0;$i<$j;$i++)
{
$Sql="update tlistamed set lista1='$valor[$i]' where codpro='$valorcod[$i]'";
mysql_query($Sql,$link);
}
}
else if ($varlista==2)
{
for($i=0;$i<$j;$i++)
{
$Sql="update tlistamed set lista2='$valor[$i]' where codpro='$valorcod[$i]'";
mysql_query($Sql,$link);
}
}
else if ($varlista==3)
{
for($i=0;$i<$j;$i++)
{
$Sql="update tlistamed set lista3='$valor[$i]' where codpro='$valorcod[$i]'";
mysql_query($Sql,$link);
}
}
else if ($varlista==4)
{
for($i=0;$i<$j;$i++)
{
$Sql="update tlistamed set lista4='$valor[$i]' where codpro='$valorcod[$i]'";
mysql_query($Sql,$link);
}
}
else if ($varlista==5)
{
for($i=0;$i<$j;$i++)
{
$Sql="update tlistamed set lista5='$valor[$i]' where codpro='$valorcod[$i]'";
mysql_query($Sql,$link);
}
}
else if ($varlista==6)
{
for($i=0;$i<$j;$i++)
{
$Sql="update tlistamed set lista6='$valor[$i]' where codpro='$valorcod[$i]'";
mysql_query($Sql,$link);
}
}
Esto hasta llegar al if ($varlista==20)
Que puede estar pasando y como puedo solucionar este error

1 Respuesta

Respuesta
1
Para empezar el código es muy poco óptimo: suele ser mejor ejecutar un bucle que repetir 20 veces un código casi idéntico.
De todas formas, aún así, no habría problema si no fuera por el bucle for que ejecutas cada vez. No sé cual es la estructura de la tabla pero parece muy poco efectiva. Tampoco se aprecia cual es el límite $j.
En resumen, no estás actualizando un campo en 20 registros sino muchas más de los que piensas.
Explica la estructura de tu tabla y el valor de $j.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas