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!. :)
En PHP es la función rand().
<?php
srand ((double) microtime( )*1000000);
$random_number = rand( );
echo "$random_number";
?>
Documentación: PHP rand() (http://www.php-scripts.com/php_diary/122799.php3)
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í:
<?php
$empiezo= 1;
$fin= 100;
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!
Lo unico que se me ocurre es por sessiones,cookies,archivos o base de datos.
un ejemplo con session en php.
<?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