Podrías utilizar una
variable de sesión o una
cookie cuyo valor vaya incrementándose de uno en uno antes de cada consulta a la BD.
Código PHP:
Ver original$_SESSION['limite'] = isset($_SESSION['limite']) && $_SESSION['limite'] >= 1 ?
++$_SESSION['limite'] : 1; $query = mysql_query("SELECT valor FROM datos ORDER BY id ASC LIMIT 0, {$_SESSION['limite']}"); if ($total && $_SESSION['limite'] <= $total){
echo "Valor: {$row['valor']}<br />";
}
}
else if ($total && $_SESSION['limite'] > $total){
echo "Valor: {$row['valor']}<br />";
}
echo 'Finalizado';
}
else{
echo 'No se encontraron datos';
}
De esta forma, al cargar la página, inicias o mantienes una sesión y verificas primero si la variable de sesión
$_SESSION['limite']
ha sido establecida y si su valor es mayor o igual a 1; de ser así, incremento su valor en uno, caso contrario, le asigno 1 como valor. Obviamente, la asignación del 1 como valor de la variable de sesión solo se realizará en la primera consulta.
Luego, en la consulta, tomo a todos los datos de la tabla, empezando desde el primero hasta el límite que haya establecido, por ejemplo, al inicio será solo 1, luego 2 y así sucesivamente. Calculo el total obtenido y hago las siguientes verificaciones:
- Si hay datos (uno o más) y el límite establecido en la variable de sesión es menor o igual al total de datos obtenidos de la consulta, imprimo los datos resultantes.
- Si hay datos (uno o más) y el límite es mayor al total de registros, imprimo los datos resultantes y, al final, un mensaje de 'Finalizado'.
- Si no hay datos en la tabla, muestro un mensaje avisando de esto al usuario.
Saludos