Foros del Web » Programando para Internet » PHP »

Se puede juntar while con if?

Estas en el tema de Se puede juntar while con if? en el foro de PHP en Foros del Web. Hola quiero hacer un programa php con while , if y elseif pero while y if no se pueden utilizar juntos de modo que : ...
  #1 (permalink)  
Antiguo 03/04/2012, 09:46
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Pregunta Se puede juntar while con if?

Hola quiero hacer un programa php con while , if y elseif pero while y if no se pueden utilizar juntos de modo que :

<?php

$numero = $_POST[numero];


while (!empty($variable) && isset($variable) &&
!empty($variable2) && isset($variable2) &&
!empty($variable3) && isset($variable3) &&
!empty($variable4) && isset($variable4) &&
!empty($numero) && isset($numero) &&
$numero > 0 && $variable== Si ) {
print "Cosa";
} elseif {
print"algo";
} elseif {
print "algo2";
}else {
print "algo3";
?>



Esto no funciona
Hay alguna manera de hacerlo funcionar?
  #2 (permalink)  
Antiguo 03/04/2012, 09:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Se puede juntar while con if?

¿Que es lo que intentas hacer?

While es para hacer ciclos, y el if es un condicional, no puedes juntarlos de esa manera, tienes que pensar bien lo que quieres hacer, ya que para lo que parece con un simple if() basta no necesitas el while.
  #3 (permalink)  
Antiguo 03/04/2012, 11:13
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Respuesta: Se puede juntar while con if?

Cita:
Iniciado por GatorV Ver Mensaje
¿Que es lo que intentas hacer?

While es para hacer ciclos, y el if es un condicional, no puedes juntarlos de esa manera, tienes que pensar bien lo que quieres hacer, ya que para lo que parece con un simple if() basta no necesitas el while.
Lo que quiero hacer es que cuando alguien escriba un numero en un formulario, luego este numero que sean las veces que se repita una accion pero que aga la accion solo cuando tambien ha comprovado datos como nombre email etc.
No se si me expreso muy bien
  #4 (permalink)  
Antiguo 03/04/2012, 11:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Se puede juntar while con if?

Realmente no entiendo pero ejecutar un while con el número que viene es sencillo:
Código PHP:
Ver original
  1. $veces = (int) $_POST['numero'];
  2. $contador = 0;
  3. while ($contador < $veces) {
  4.       echo $contador;
  5.       $contador++;
  6. }

Ya dentro de contador puedes hacer más comprobaciones o lo que necesites...
  #5 (permalink)  
Antiguo 03/04/2012, 11:50
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Pregunta Respuesta: Se puede juntar while con if?

Cita:
Iniciado por GatorV Ver Mensaje
Realmente no entiendo pero ejecutar un while con el número que viene es sencillo:
Código PHP:
Ver original
  1. $veces = (int) $_POST['numero'];
  2. $contador = 0;
  3. while ($contador < $veces) {
  4.       echo $contador;
  5.       $contador++;
  6. }

Ya dentro de contador puedes hacer más comprobaciones o lo que necesites...
Esto es lo que buscaba pero se le puede añadir elseif y else ?
  #6 (permalink)  
Antiguo 03/04/2012, 11:57
Avatar de Chico3001  
Fecha de Ingreso: septiembre-2011
Ubicación: Mexico, DF
Mensajes: 112
Antigüedad: 13 años, 3 meses
Puntos: 12
Respuesta: Se puede juntar while con if?

Dentro del ciclo while puedes añadir lo que quieras... incluso ordenes break; que rompen el ciclo actual

http://www.php.net/break

Código PHP:
while (condicion) {

if(
condicion extra) {
......
}elseif (
condicion extra2) {
......
}else {
......
}

......
......
......



  #7 (permalink)  
Antiguo 04/04/2012, 08:31
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 16 años, 2 meses
Puntos: 12
Respuesta: Se puede juntar while con if?

Cita:
Iniciado por patilanz Ver Mensaje
Lo que quiero hacer es que cuando alguien escriba un numero en un formulario, luego este numero que sean las veces que se repita una accion pero que aga la accion solo cuando tambien ha comprovado datos como nombre email etc.
No se si me expreso muy bien
esta idea te puede servir:

Código PHP:
Ver original
  1. $valor = (int) $_POST['valor'];
  2. $i = 0;
  3. if($_POST['nombre'] !=""){//puedes cambiar este condicional, esto solo lo pongo por ejemplo
  4.    if($_POST['email]!=""){
  5.      //aqui ya pones el while
  6.      while($i<$valor){
  7.         echo $valor;
  8.         $i++;
  9.      }
  10.   }
  11.   else{
  12.      echo "el mail viene vacio";
  13.   }
  14. }
  15. else{
  16.   echo "el nombre viene vacio.";
  17. }

esto te puede servir
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #8 (permalink)  
Antiguo 04/04/2012, 12:24
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Sonrisa Respuesta: Se puede juntar while con if?

Cita:
Iniciado por lukas4 Ver Mensaje
esta idea te puede servir:

Código PHP:
Ver original
  1. $valor = (int) $_POST['valor'];
  2. $i = 0;
  3. if($_POST['nombre'] !=""){//puedes cambiar este condicional, esto solo lo pongo por ejemplo
  4.    if($_POST['email]!=""){
  5.      //aqui ya pones el while
  6.      while($i<$valor){
  7.         echo $valor;
  8.         $i++;
  9.      }
  10.   }
  11.   else{
  12.      echo "el mail viene vacio";
  13.   }
  14. }
  15. else{
  16.   echo "el nombre viene vacio.";
  17. }

esto te puede servir
Me gusto gracias pero se le puede añadir algo de elseif ?
Y porque pones 2 if ?
  #9 (permalink)  
Antiguo 04/04/2012, 12:30
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 10 meses
Puntos: 128
Respuesta: Se puede juntar while con if?

El segundo if es porque verifica si viene con dato el campo email del formulario, es por eso que tienes donde mensajes como:


El Segundo verifica el email
echo "el mail viene vacio";


El Primero verifica el nombre
echo "el nombre viene vacio.";




Saludos.



__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #10 (permalink)  
Antiguo 04/04/2012, 13:33
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Pregunta Respuesta: Se puede juntar while con if?

Cita:
Iniciado por bUllan9ebrio Ver Mensaje
El segundo if es porque verifica si viene con dato el campo email del formulario, es por eso que tienes donde mensajes como:


El Segundo verifica el email
echo "el mail viene vacio";


El Primero verifica el nombre
echo "el nombre viene vacio.";




Saludos.


Gracias por tu respuesta pero se le puede añadir elseif ?
  #11 (permalink)  
Antiguo 04/04/2012, 15:55
Avatar de lukas4  
Fecha de Ingreso: octubre-2008
Ubicación: frente al pc
Mensajes: 496
Antigüedad: 16 años, 2 meses
Puntos: 12
Respuesta: Se puede juntar while con if?

que tal patilanz, el ejemplito ese lo hice basado en lo que tu dijiste, que primero debe revisar los campos nombre, email, etc. Como el etc puede significar una infinidad de campos solo puse el campo de nombre y mail.

si podemos utilizar un elseif, si se puede, como en este ejemplo:
Código PHP:
Ver original
  1. if($_POST['nombre'] !=""){
  2. }
  3. elseif(!empty($_POST['name'])){//esta validación se me hace redundante
  4. //y aqui ya pones lo demas
  5. echo "sip, el nombre viene vacio.  te falta agregar validaciones por el lado del cliente para que esto no vuelva a pasar =)";
  6. }
__________________
http://situcomo.blogspot.com
Karma is a Bitch... they said
  #12 (permalink)  
Antiguo 07/04/2012, 08:50
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Desacuerdo Respuesta: Se puede juntar while con if?

Cita:
Iniciado por lukas4 Ver Mensaje
que tal patilanz, el ejemplito ese lo hice basado en lo que tu dijiste, que primero debe revisar los campos nombre, email, etc. Como el etc puede significar una infinidad de campos solo puse el campo de nombre y mail.

si podemos utilizar un elseif, si se puede, como en este ejemplo:
Código PHP:
Ver original
  1. if($_POST['nombre'] !=""){
  2. }
  3. elseif(!empty($_POST['name'])){//esta validación se me hace redundante
  4. //y aqui ya pones lo demas
  5. echo "sip, el nombre viene vacio.  te falta agregar validaciones por el lado del cliente para que esto no vuelva a pasar =)";
  6. }
Gracias por tu respuesta pero yo quería que sea while luego if , luego elseif y luego else por ejemplo
el orden no estoy seguro pero que contenga esos.

Gracias

Etiquetas: ayuda-php, funcionar, juntar, repetir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:27.