Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/11/2007, 08:18
Avatar de deet
deet
 
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 19 años
Puntos: 1
Re: como hacer una funcion recursiva cada cierto tiempo

ayer te envié al foro javascript para que postearas tu consulta, luego me interesé un poco por este tema así que desarrolle el código que necesitas:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<script type="text/javascript">
var ids = new Array();
var socios = new Array();
var rand;
<?
$link 
mysql_connect("localhost","root","") or die ("Error: No se ha podido establecer la conexión con la BBDD. " mysql_error());
mysql_select_db("basededatos",$link) or die ("Error: No se ha podido seleccionar la BBDD. " mysql_error());

//variable para guardar los id de los socios
$id '';
//variable para guardar los socios
$so '';

//debes cambiar: seccion_id por el id de tu tabla
//seccion_nombre por el campo nombre del socio
//secciones por el nombre de tu tabla

$sql "SELECT seccion_id,seccion_nombre FROM secciones";
$rs mysql_query($sql,$link);
for(
$i 0$row mysql_fetch_row($rs); $i++){
    
$id .= "ids[$i] = '$row[0]'; \n";
    
$so .= "socios[$i] = '$row[1]'; \n";
}
echo 
$id;
echo 
$so;
?>

function randSocio(){
    //obtengo la cantidad de socios    
    var cantidad = ids.length - 1;
    //establezco el numero minimo
    var minimo = 0;
    //cantidad de posibilidades
    var posibilidades = cantidad - minimo
    //numero aleatorio entre el rango especificado
    rand = Math.random() * posibilidades;
    //redondeo el número
    rand = Math.round(rand);
    //le sumo el minimo para que no me tome
    //ningun valor menor a este
    rand = parseInt(minimo) + rand;
    
    //coloco los datos en la capa conteo
    document.getElementById('conteo').innerHTML = ids[rand] + '-' + socios[rand];
}

//detecto cuando el usuario presiona una tecla
document.onkeydown = function(){
    //si es la tecla Enter
    if(event.keyCode==13){
        //muestro el nombre del ganador
        alert('El ganador es: ' + socios[rand]);
        //detengo el intervalo de tiempo
        clearInterval(interval);
    }
}
//intervalo de tiempo de 30 segundos
var interval = setInterval("randSocio()",500);
</script>
</head>

<body>
<div id="conteo"></div>
</body>
</html>