Foros del Web » Programando para Internet » PHP »

Registros Aleatorios

Estas en el tema de Registros Aleatorios en el foro de PHP en Foros del Web. Hola buenas noches, tengo una duda. Muestro artículos en la pagina principal de mi web, y me gustaría que los articulos variaran cada x tiempo. ...
  #1 (permalink)  
Antiguo 06/05/2012, 15:23
 
Fecha de Ingreso: noviembre-2011
Ubicación: Menorca
Mensajes: 36
Antigüedad: 12 años, 5 meses
Puntos: 0
Registros Aleatorios

Hola buenas noches, tengo una duda.

Muestro artículos en la pagina principal de mi web, y me gustaría que los articulos variaran cada x tiempo.

los artículos los muestro por php.

muestro los artículos pero siempre muestra el primero, y quiero que vayan cambiando

Tenéis alguna solución?

Gracias
  #2 (permalink)  
Antiguo 06/05/2012, 15:50
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Respuesta: Registros Aleatorios

order by RAND() limit 10
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #3 (permalink)  
Antiguo 06/05/2012, 16:23
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Registros Aleatorios

hablas de que cambien cada x tiempo. si te has explicado bien, tendrá que intervenir javascript.

me explico, si tu idea es hacer una consulta y que cada tiempo x tiempo se muestre un registro distinto, eso es un rotador que puede ser aleatorio o no
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 07/05/2012, 01:44
 
Fecha de Ingreso: enero-2011
Ubicación: España
Mensajes: 222
Antigüedad: 13 años, 2 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.

Etiquetas: registros, aleatoria
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 02:05.