Foros del Web » Programando para Internet » PHP »

duda con bucle while

Estas en el tema de duda con bucle while en el foro de PHP en Foros del Web. la variable $pagoqty es lo que introdujo el cliente en el formulario para saber que puesto tendría de acuerdo al valor introducido. Hasta el bucle ...
  #1 (permalink)  
Antiguo 28/03/2009, 11:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
duda con bucle while

la variable $pagoqty es lo que introdujo el cliente en el formulario para saber que puesto tendría de acuerdo al valor introducido. Hasta el bucle está todo bien.

Si introduzco el valor más alto me dice la posicion nº 1, pero si introduzco un valor por debajo del primero el bucle se queda pescando.

el array que sale de la bbdd está ordenado de mayor a menor y es numérico por lo que $row[0] es mayor que $row[1] y asi sucesivamente hasta llegar a $row[num_resultados] por lo que si $pagoqty > $row[$i] debe decir su posicion es $i +1.

no sé qué me falta, si me podeis ayudar os lo agradezco mucho.

<?
trim ($pagoqty);
if (!$pagoqty)
{
echo "Ningún dato introducido.";
exit;
}

$db = mysql_connect("localhost", "root", "123456");
if (!$db)
{
echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde.";
exit;
}

mysql_select_db("bbdd");
$consulta = "select pago from mujeres order by pago desc;";
$resultado = mysql_query($consulta);

$num_resultados = mysql_num_rows($resultado);


$row = mysql_fetch_array($resultado, MYSQL_NUM);


$i = 0;

echo "$num_resultados resultado(s) encontrado(s)<br>";

while ( $i < $num_resultados) {
if ($pagoqty > $row[$i]){
$posicion = $i+1;
echo "su posicion es $posicion";
exit;
$i++;

}
}
  #2 (permalink)  
Antiguo 28/03/2009, 11:47
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: duda con bucle while

Coloca el incremento ($i++) fuera del bloque condicional if.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 28/03/2009, 11:55
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Respuesta: duda con bucle while

Cita:
Iniciado por David el Grande Ver Mensaje
Coloca el incremento ($i++) fuera del bloque condicional if.
gracias lo he echo y parece que funciona pero no del todo.

si pongo un valor que está en el ultimo lugar me dice que está segundo cuando en el array hay 4 valores. Ponga lo que ponga por debajo de el valor más alto siempre me devuelve que está segundo.
  #4 (permalink)  
Antiguo 28/03/2009, 13:12
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Respuesta: duda con bucle while

Tema movido desde PHP Orientado a Objetos a PHP.

Saludos,
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:34.