Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/11/2007, 09:05
jtv1972
 
Fecha de Ingreso: octubre-2006
Ubicación: Guadalajara, Mexico
Mensajes: 177
Antigüedad: 17 años, 6 meses
Puntos: 0
Ciclo WHILE se sale antes

Que tal

ya me quebre la cabeza buscando por que este ciclo WHILE se sale antes de cumplir la condicion, a ver si mas ojos ven el error que yo no veo

A veces solo me muestra una respueta falsa cuando le digo que se ejecute hasta que sean 3 o menos y que la verdadera sea <1 a veces ni la verdadera se ejecuta una vez

gracias


$NoRespuestasFalsas=0;
$NoRespuestasVerdaderas=0;

$NoRespuestaAnterior=0;
while($NoRespuestasFalsas<3 and $NoRespuestasVerdaderas<1) {
$FalsaVerdadera=rand(0,1); <------ Coloco una respuesta falsa o Verdadera segun el valor del random
if(!$FalsaVerdadera)
{
if($NoRespuestasFalsas <3)
{
$NoRespuesta=rand(1,6);
if ($NoRespuesta <> $NoRespuestaAnterior)
{
$cmdBuscaRespuesta="SELECT * FROM RespuestasFalsas WHERE NoRespuesta = ".$NoRespuesta;
$rsRespuesta=mysql_query($cmdBuscaRespuesta,$link) ;
$registro= mysql_fetch_array($rsRespuesta);
$NoRespuestaAnterior= $NoRespuesta;
$NoRespuestasFalsas++; }
}
}
else if($FalsaVerdadera)
{

if($NoRespuestasVerdaderas<1)
{
$NoRespuesta=rand(1,2);
$cmdBuscaRespuesta="SELECT * FROM RespuestaVerdadera WHERE NoRespuesta = ".$NoRespuesta;
$rsRespuesta=mysql_query($cmdBuscaRespuesta,$link) ;
$registro= mysql_fetch_array($rsRespuesta);
$NoRespuestasVerdaderas++;
$imagen=$registro[imagen];
}
}

//echo "<option value='".$registro[NoRespuesta]."'>".utf8_encode($registro[Respuesta])."</option>";
echo utf8_encode($registro[Respuesta])."\n";
}
echo $NoRespuestasFalsas."\n".$NoRespuestasVerdaderas." \n";