Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2009, 11:41
jonaselyonas
 
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
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++;

}
}