Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2005, 00:44
javifo
 
Fecha de Ingreso: mayo-2004
Mensajes: 393
Antigüedad: 20 años
Puntos: 0
Paginator y order by rand()

Hola.
Utilizo Paginator y funciona estupendamente.

El único problema que tengo es que en una consulta ordenada aleatoriamente con order by rand() que da como resultado varias páginas, al ir hacia "Siguiente" y luego volver con "Anterior", no coserva el resultado inicial.
Es decir, al presionar "Anterior", recarga la página y hace una nueva consulta, con lo que los resultados son distintos de la primera.

El código es este:
Código PHP:
$_pagi_sql = ("SELECT *FROM tabla where estado = '1' and control = '1'  order by rand()");
$_pagi_cuantos 10;
$_pagi_nav_num_enlaces 5;
$_pagi_mostrar_errores false;
$_pagi_conteo_alternativo true;
include(
"paginator.inc.php");
$fila 0;
while (
$row mysql_fetch_array($_pagi_result ) )
{
etc..
}
echo 
"<table>
<tr><td>$_pagi_navegacion</td></tr>
</table>"

Antes de tocar nada, me gustaría saber si estoy haciendo algo mal.

El caso es que al moverte por las páginas, parece que siempre se recarga la inicial, con lo que actúa order by rand(). Lo que necesitaría es que no se recargara la página y se retomara la de la cache.

Por favor, decidme algo, porque si no hay una solución tendré que quitar la ordenación aleatotia order by rand(), porque tal como está despista a los usuarios ya que: ven algo que les interesa en la página 1----->Van a página---->2---->Vuelven a página1 para seguir el link que les ha interesado. ¡Pero ya no está!.

Por lo demas, ya he dicho que Paginator va muy bien. Lo uso en todas las consultas y no da ningún problema.

Gracias a todos y saludos.