Foros del Web » Programando para Internet » PHP »

while dentro de un If

Estas en el tema de while dentro de un If en el foro de PHP en Foros del Web. Que tal? Cual es el problema por el cual no funciona un WHILE dentro de un IF... jamas lo pude hacer funcionar... esto es por ...
  #1 (permalink)  
Antiguo 21/07/2010, 12:48
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
while dentro de un If

Que tal?

Cual es el problema por el cual no funciona un WHILE dentro de un IF... jamas lo pude hacer funcionar... esto es por problema mio??? o debe ser asi?

por ejemplo;
Código:
if (x == y){
      ...
      ...
      while (c != b){
            ...
            ...
            }
} else {
            ...
            ...
            }
Por que esto no funciona?

gracias.
  #2 (permalink)  
Antiguo 21/07/2010, 12:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: while dentro de un If

Porque while se ejecuta siempre y cuando la condición que coloques sea cierta. Si no es cierta no se ejecuta. Para eso puedes usar algo como >= o <=.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/07/2010, 12:58
 
Fecha de Ingreso: julio-2003
Ubicación: Cochabamba Bolivia
Mensajes: 300
Antigüedad: 21 años, 4 meses
Puntos: 14
Respuesta: while dentro de un If

Hola, mas alla de la sintaxis que no pones en el ejemplo que manejas, la logica esta correcta y deberia funcionarte perfectamente yo lo hago asi muchas veces incluso con mas ifs y whiles dentro y me funciona perfectamente.

Si talves pudieras poner un ejemplo de tu codigo podriamos verlo y ayudarte mejor.

Saludos.
__________________
:policia: Uno para todos y todos para uno.

Última edición por sander; 21/07/2010 a las 13:12
  #4 (permalink)  
Antiguo 21/07/2010, 12:58
Avatar de elchicho118  
Fecha de Ingreso: mayo-2010
Mensajes: 74
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: while dentro de un If

mas o menos asi es lo que quieres

Código PHP:
Ver original
  1. <?php
  2.   if($can == 0){  
  3.  
  4.     echo '<p align="center">No hay posts por el momento</p>';
  5.  
  6.   }  
  7.  
  8.   else{  
  9.  $i =0;
  10. while($row = mysql_fetch_array($registro))  
  11.   {  
  12. ?>
__________________
QUISIERA HACER LO QUE NADIE HA HECHO EN LA MITAD DE TIEMPO
  #5 (permalink)  
Antiguo 21/07/2010, 13:04
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: while dentro de un If

Cita:
Iniciado por abimaelrc Ver Mensaje
Porque while se ejecuta siempre y cuando la condición que coloques sea cierta. Si no es cierta no se ejecuta. Para eso puedes usar algo como >= o <=.
Puse cualquier ejemplo! en realidad, estoy ejecutando un fetch_array, por eso no entiendo que no funcione...
  #6 (permalink)  
Antiguo 21/07/2010, 13:27
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: while dentro de un If

Esto no me funciona....
Código:
if (!$usuario)
{
$numero = obtengoCantidadConferencias($selectCompany);
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
        <th scope="row" width="1%" bgcolor="#ffffff">&nbsp;</th>
        <td width="30%" class="texto" bgcolor="#ffffff" align="left">Total created conferences: <? echo $numero ?></td>
        <td>&nbsp;</td>
</tr>
</table>
<?
$db = new MySQL();
$consulta = $db->consulta("SELECT loquesea FROM whatever");
        while ($registros = $db->fetch_array($consulta))
        {
        ?>
        <table width="100%" border="0" cellpadding="1" cellspacing="1">
        <tr>
                <th width="40%" class="texto" scope="row">Start Time</th>
                <td width="45%" class="texto" align="center">End Time</td>
                <td width="15%" class="texto" align="center">Max Users</td>
        </tr>
        </table>                 
        <table width="100%" border="0">
        <tr>
                <th width="40%" class="texto" scope="row"><? echo $registros[0] ?></th>
                <td width="45%" class="texto" align="center"><? echo $registros[1] ?></td>
                <td width="15%" class="texto" align="center"><? echo $registros[2] ?></td>
        </tr>
        </table>
        <?
        }
} else {
El while no se ejecuta dentro del if... no entiendo porque.
  #7 (permalink)  
Antiguo 21/07/2010, 13:39
Avatar de elchicho118  
Fecha de Ingreso: mayo-2010
Mensajes: 74
Antigüedad: 14 años, 5 meses
Puntos: 1
Respuesta: while dentro de un If

Cita:
Iniciado por sadzas Ver Mensaje
Esto no me funciona....
Código:
if (!$usuario)
{
$numero = obtengoCantidadConferencias($selectCompany);
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
        <th scope="row" width="1%" bgcolor="#ffffff">&nbsp;</th>
        <td width="30%" class="texto" bgcolor="#ffffff" align="left">Total created conferences: <? echo $numero ?></td>
        <td>&nbsp;</td>
</tr>
</table>
<?
$db = new MySQL();
$consulta = $db->consulta("SELECT loquesea FROM whatever");
        while ($registros = $db->fetch_array($consulta))
        {
        ?>
        <table width="100%" border="0" cellpadding="1" cellspacing="1">
        <tr>
                <th width="40%" class="texto" scope="row">Start Time</th>
                <td width="45%" class="texto" align="center">End Time</td>
                <td width="15%" class="texto" align="center">Max Users</td>
        </tr>
        </table>                 
        <table width="100%" border="0">
        <tr>
                <th width="40%" class="texto" scope="row"><? echo $registros[0] ?></th>
                <td width="45%" class="texto" align="center"><? echo $registros[1] ?></td>
                <td width="15%" class="texto" align="center"><? echo $registros[2] ?></td>
        </tr>
        </table>
        <?
        }
} else {
El while no se ejecuta dentro del if... no entiendo porque.

por las llaves
__________________
QUISIERA HACER LO QUE NADIE HA HECHO EN LA MITAD DE TIEMPO
  #8 (permalink)  
Antiguo 21/07/2010, 13:41
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 16 años, 5 meses
Puntos: 0
Respuesta: while dentro de un If

Cita:
Iniciado por elchicho118 Ver Mensaje
por las llaves

estas abriendo de mas
Donde?

Abro un par por el IF y otro par por el WHILE, luego cierro el IF y le doy al ELSE!

IF{
WHILE{}
} ELSE {}

donde esta el error?
  #9 (permalink)  
Antiguo 21/07/2010, 14:46
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: while dentro de un If

No tiene nada que ver el uso del if con el while.
Si sacas el if, acaso se ejecuta el while?

Etiquetas: Ninguno
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 21:17.