PHP - uso de contadores en un WHILE

 
Vista:
sin imagen de perfil
Val: 126
Ha aumentado su posición en 12 puestos en PHP (en relación al último mes)
Gráfica de PHP

uso de contadores en un WHILE

Publicado por German David (54 intervenciones) el 28/05/2021 21:36:31
Cordial saludo.
Actualmente en mi sitio web, tengo un formulario para ingresar registros de llantas montadas y desmontadas a un vehículo. El vehículo tiene 11 llantas, lo que quiere decir que en el formulario le pueden ingresar desde una llanta hasta 11 llantas. Como lo que deseo es ingresar los campos en el formulario que contengan información, estoy utilizando un WHILE anidado dentro de un FOR. Las campos del formulario que deseo insertar son los códigos de las llantas. Cada campo en el formulario esta asociado a una variable, las cuales nombre así: $IDM1...$IDM11. Con el FOR, busco validar si en los 11 campos del formulario hay información y con el WHILE busco contar, cuantos campos del formulario tienen información. Como el nombre de las variables solo difiere, en el numero al final que va desde 1 a 11, pensé en formar las variables dentro del WHILE concatenando así: "$IDM".$i.

Este es el código:

1
2
3
4
5
6
7
8
//contador llantas montadas
$iM=0;
for ($i=1; $i<=11; $i+1) {
	while ("$IDM".$i!="") {
		$iM+1;
		break;
	}
}

una vez le doy ejecutar en la pagina web, se queda cargando mucho rato y sale este error.

Maximum execution time of 30 seconds exceeded in /var/www/html/analistaflota/RegistroSalidaLlantas.php on line 389

Agradezco toda la ayuda que puedan brindarme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

uso de contadores en un WHILE

Publicado por anonymous (20 intervenciones) el 28/05/2021 21:54:39
Yo pondría el segundo bucle la condicional así
1
("$IDM$i"!="")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

uso de contadores en un WHILE

Publicado por Mauro (1038 intervenciones) el 29/05/2021 15:26:57
Hola Germán:

Nota que la condición del while no cambia nunca.

Por ejemplo, cuando $i = 1 verificas si "$IDM1" es diferente del string vacío y luego, dentro del ciclo $i no cambia (Sólo cambia con el for), con lo cual la concatenación siempre da "$IDM1", entonces, si entró una vez al while no saldrá nunca :(

Por otro lado, al utilizar "$IDM1" estás haciendo que el intérprete busque el valor de la variable $IDM1 que, en el código que muestras al menos, no está definida... ¿eso no te da un notice?

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 126
Ha aumentado su posición en 12 puestos en PHP (en relación al último mes)
Gráfica de PHP

uso de contadores en un WHILE

Publicado por German David (54 intervenciones) el 31/05/2021 14:13:41
Hola Mauro, pensé que cuando le colocaba BREAK en la parte inferior del WHILE, este lo finalizaba y me llevaba nuevamente al FOR, donde ya tendría la variable $i un incremento.
Como puedo hacer para que una vez entre en el WHILE, salga y nuevamente haga el FOR?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar