Foros del Web » Programando para Internet » PHP »

Listado Pseudo Aleatorio

Estas en el tema de Listado Pseudo Aleatorio en el foro de PHP en Foros del Web. Necesito generar un listado ordenado aleatoriamente, a partir de varias tablas de un db mySQL. Pero ese orden aleatorio tiene que mantenerse durante el día. ...
  #1 (permalink)  
Antiguo 27/07/2007, 11:13
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Listado Pseudo Aleatorio

Necesito generar un listado ordenado aleatoriamente, a partir de varias tablas de un db mySQL. Pero ese orden aleatorio tiene que mantenerse durante el día.

Por ejemplo, hoy aparecen en orden 1 3 5 4 y mañana 3 5 1 2.

Supongo que tendría que guardar el orden aleatorio en otra tabla y cambiarlo cada 24hs... pero no sé cómo ordenar la tabla original de acuerdo a esa tabla. Además uso paginación (usando LIMIT x, y) por lo que, por ej, no puedo hacer SORT BY RAND() porque cambiaría en cada página :(

Alguna idea?
Muchas gracias!

EDIT: cuando digo varias tablas me refiero a que hago un join. No sé si afectará al problema, pero lo menciono por las dudas.
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #2 (permalink)  
Antiguo 27/07/2007, 16:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Listado Pseudo Aleatorio

Lo que puedes hacer es generar la secuencia aleatoria, la guardas en otra tabla o en un archivo y luego creas un Cron que cada 24 horas genere una nueva serie de datos.

Saludos.
  #3 (permalink)  
Antiguo 27/07/2007, 16:53
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Listado Pseudo Aleatorio

Sí, creo que voy a hacer algo similar a eso.

Guardo la secuencia en una tabla, y además de guardar el id guardo la fecha en la que se generó. A la hora de generar un listado, tomo los registros de el día actual y, en caso de no haber, vacío la tabla y regenero la secuencia.

Gracias!
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
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:19.