Disculpen que me meta: ese algoritmo funciona bien, pero siempre recorre todo el resultado de la consulta, aún cuando ya encontró el id buscado (supongo que será único). Si le agregamos un break o una bandera nos ahorraremos algo de procesamiento:
Usando break():
Código PHP:
<?
$i = 1;
while($row=mysql_fetch_assoc($Query)){
if($row['id'] == $id) {
$posicion = $i;
break;
}
$i++;
}
?>
Con una bandera:
Código PHP:
<?
$i = 1;
$encontrado = false;
while(!encontrado && $row=mysql_fetch_assoc($Query)){
if($row['id'] == $id) {
$posicion = $i;
$encontrado = true;
}
$i++;
}
?>
Saludos.