Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/05/2012, 01:44
unexes
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 3 meses
Puntos: 7
Respuesta: Registros Aleatorios

Hola rduran256

Voy a darte una posible solución, porque yo tuve el mismo problema y lo resolvi de la siguiente forma, te advierto que soy muy novato en esto y es muy posible que hayan soluciones mucho mejores y que otros compañeros te puedan ayudar mejor que yo pero mi solución funciona perfectamente porque hace 2 cosas:
1º Cambia el orden cada cierto tiempo (El tiempo que decidas que pase entre cada cambio lo pones tu).
2º Cada vez que cambia el orden los ordena de forma diferente.
Ademas el código es cortisimo y sencillo.

Lo primero es que para que cambie de forma diferente cada vez hay que poner en el ORDER BY rand() un número entre los parentesis osea algo así ORDER BY rand(125) claro esta que si ponemos un numero fijo siempre tendra el mismo desorden aleatorio con lo cual deja de ser aleatorio y por lo tanto la primera cosa es poner en dicho lugar una variable que cambie su valor cada cierto tiempo en lugar de un número fijo y queda algo así ORDER BY rand($variable).
Lo segundo hay que generar esa variable y que cada cierto tiempo tenga un valor diferente, para ello primero me cree una página independiente con el código para poderla poner en la carpeta "includes" con el fin de utilizar ese código en todas mis páginas, y para generar un número diferente cada cierto tiempo lo que hice fue calcular la diferencia de tiempo (segundos) que hay entre el principio del año y el momento actual para ello utilice "mktime" y cuando me da el total de segundos que hay entre las 2 fechas lo dividido por (900) ya que en mi caso yo quiero que cambie cada 15 minutos (15 x 60).
Resumiendo cada 15 minutos me genera un número diferente, lo pasa a la variable y la misma la utilizo en el ORDER BY.

Se que hay formas mas elegantes y mejores para hacerlo pero a mi me pasa como a tí que no sabia como plantearlo así que lo hice de la forma que mejor supe.

Espero te sirva, un saludo.