Generar un número en intervalo de tiempo

Iniciado por Cergath, 9 Enero 2011, 21:58 PM

0 Miembros y 1 Visitante están viendo este tema.

Cergath

Hola,

Es que justo ahora necesito un codigo (JS o PHP, no importa) pero que me genere un número de 1 a 10 por ejemplo, pero cada cierto periodo de tiempo de forma aleatoria entre 5 a 60 minutos por ejemplo, no siempre que se refresque el navegador, sino cada intervalo de tiempo de 5 a 60 minutos, esto es posible? (sí, pues, dudo que algo sea imposible a estas alturas :xD) pero más bien, ¿como lo hago?, alguno podría ayudarme en esto?

Muchas gracias!. :)

madpitbull_99

En PHP es la función rand().

Código (php) [Seleccionar]
<?php
 srand 
((double) microtime( )*1000000);
 
$random_number rand( );
 echo 
"$random_number";
 
?>


Documentación: PHP rand()

En el enlace que te he dejado explican varias formas de generar números aleatorios usando rand() y srand().

Si quieres que te genere un numero a partir de un rango, se hace así:

Código (php) [Seleccionar]
<?php
$empiezo
1;
$fin100;
 
srand ((double) microtime( )*1000000);
 
$random_number rand($empiezo$fin);
 echo 
"$random_number";
 
?>


Eso te generaría un numero aleatorio entre 1 y 100.

Un saludo!



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

#!drvy

Lo unico que se me ocurre es por sessiones,cookies,archivos o base de datos.
un ejemplo con session en php.

Código (php) [Seleccionar]

<?php
session_start
();

function 
get_rand($sep,$start,$end){
// by [drvy]
$gen rand($start,$end);
$ses $gen.':'.time();
if(isset($_SESSION['randnum'])){
$arr explode(':',$_SESSION['randnum']);
if(($arr[1]+$sep) < time()){
$_SESSION['randnum'] = $ses;
return $gen;
}
} else {
$_SESSION['randnum'] = $ses;
return $gen;
}
return $arr[0];
}

// imprimir
print get_rand(10,111,999);

?>



En este caso imprimirá un numero aleatorio cada 10 segundos. Si no han pasado los 10 segundos imprimirá el mismo de antes.
los parámetros de la función son:
$sep = Separador. Osease cada cuanto tiempo. Es en segundos por lo tanto si quieres un numero nuevo cada 1 minuto sera 60.
$start = Numero por cual empezar.
$end = Numero por el que terminar.

Lo que hace es comprobar que la session existe de ahí comprobar hace cuanto fue generado y si hace falta generar uno nuevo. En caso contrario mostrar el ultimo.


Saludos