2 while uno dentro de otro, se puede?

  • Autor Autor pa3lo022
  • Fecha de inicio Fecha de inicio
P

pa3lo022

Gamma
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola a todos, espero que esten bien, les hago una consulta, tengo 2 query distintas, lo cual tendria que poner 2 while para que traiga todos los datos de la bd, pero mi duda es, se puede poner un while dentro de otro? (si se puede lo estoy haciendo mal :grumpy: )

Muchas gracias.

saludo
 
La respuesta es si, si se puede.

Lo que estás haciendo es anidar un ciclo dentro de otro.

Saludos.
 
Si se puede...
 
Claro que se puede, es muy comun
 
gracias por sus respuestas. Me podrían poner un ejemplo básico porfa?
 
Claro que si pero que necesitas hacer , que código tienes?
 
Claro, se puede... solo ten cuenta que no hagas un ciclo infinito. Cuando termines el primer while anidado puedes utilizar break o hacer bien tus filtros.
 
Ejemplo súper básico:

$i=0;
$j=0;

while($i<=10){
while($j<=10){
echo $i . $j . '<br>';
$j++;
}
$i++;
}

Esto imprime pares de números del 0 al 10

0 0
0 1
0 2
...
1 0
...
2 0
...


Todo es cuestión de que condicional uses para que el ciclo se siga ejecutando, recuerda que hay 3 tipos de ciclos básicos:

Do{INSTRUCCIONES} While(CONDICION);

While(CONDICION){INSTRUCCIONES}

for(inicializar variables; Condicionales; Aumento o cambio de variables en cada ciclo){
Instrucciones;
}

Saludos.
 
Sí se puede, pero dependiendo de lo que quieras hacer, creo que es mejor hacer una "union" en la consulta, o utilizar inner join de mysql.
 
si se puede dependiendo de lo que quieres hacer por que posible mente puedes hacer eso mismo de una manera mas fácil seria bueno que explicaras lo que quieres realizar
 
Es posible solo fijate bien donde empieza y termina cada uno y que vas a hacer con los resultados obtenidos, hasta puedes poner mas ciclos no solo dos, ocupa tab para señalar bien cada ciclo
 
Buenas,
Como poder claro que se puede pero ten en cuenta los tiempos de carga. Será mucho mas elevado que si haces un inner join y unes las dos consultas y así solo necesitarás un while.

Saludos.
 
claro que se puede, sin ningún problema
 
más que seguro 🙂
 
son variables mi estimado, hacer un inner join puede ser un desperdicio en muchos casos, hay opciones como el left y right dependiendo de qué datos vas a extraer, union también puede ser un desperdicio.
Te doy un ejemplo básico: intenta medir la carga de millones de datos con un inner join vs hacer consultas parciales con índices optimizados vs crear vistas, te darás cuenta que ahora si importa el tiempo de carga y el inner join sería un suicidio completo porque el motor de la base de datos trabajaría hasta extenuarse si tienes pocos recursos de hardware vs microconsultas o la vista que te mencioné.
Calcular la complejidad computacional es muy bueno para todos los casos pero en scripts pequeños no se nota tanto esa carga que tu llamas.
Un saludo.
 
Atrás
Arriba