Hola, de ante mano se agradece la colaboración, el tema es el siguiente, no he podido controlar la ejecución del comando setInterval al encontrar el valor que deseo desde una lectura a la BD, valor que traspaso de una búsqueda realizada en una pagina PHP sobre una BD mysql.
Lo explico a continuación, cargo la pagina principal junto con la ejecución del comando setInterval la que llama a una pagina php que consulta la DB en búsqueda de un dato en particular, cuando encuentre un registro dado le paso a la función que tiene el comando setInterval un valor por una variable php para detener la ejecución del setInterval y poder trabajar con este registro encontrado. mi problema es que no se detiene la ejecución o se detiene y no puedo volver a arrancar el setInterval, todo depende si el registro lo encuentra al iniciarse al cargar la pagina principal o si el registro lo encuentra después de ejecutado el intervalo.
aquí va el código de ejemplo
index.php
<?php
session_start();
?>
<head>
<script type='text/javascript' src="script/jquery.1.7.1.min.js"></script>
<script language="javascript">
var intval = "";
function start(){
intval=setInterval(function(){
$('#echos').load('timerconsulta.php');
stop();
},6000);
}
function stop(){
var variablejs = "<?php echo $_SESSION['ES']; ?>" ;
if (variablejs == "1") {
if(intval!=""){
clearInterval(intval);
intval="";
imprime("Timer detenido");
}
}
if (variablejs == "0") {
imprime("Timer andando");
}
}
function imprime(Texto) {
document.getElementById("Status_Timer").innerHTML = Texto;
}
</script>
</head>
<body onload="start_Int()">
<div id="Status_Timer">Timer andando</div>
<div id=echos><b>Cargando...</b>
<input type='button' id='idparar' value='parar' onClick='stop_Int()' />
<input type='button' id='idandar' value='andar' onClick='start_Int()' />
<input type='button' id='idimpr' value='imprime' onClick='imprime(<?php echo $_SESSION['ES']; ?>)' />
</div>
</body>
timerconsulta.php
<?
session_start();
mysql_connect('localhost','root','pass');
mysql_select_db('sys_ronline');
$ga = mysql_query("SELECT ID_CLIENTE FROM RA_CLIENTES WHERE ACTIVO = '1'");
if (mysql_num_rows($ga)==0) {
$_SESSION['ES'] = 0;
$nuevo_texto = 'VACIO ';
$nuevo_texto .= "<input type='button' id='idparar' value='parar' onClick='stop_Int(1)' />";
$nuevo_texto .= "<input type='button' id='idandar' value='andar' onClick='start_Int(1)' />";
$nuevo_texto .= '<input type="button" id="idimpr" value="imprime" onClick="imprime('.$_SESSION['ES'].')" />';
echo $nuevo_texto;
} else {
$_SESSION['ES'] = 1;
$nuevo_texto = 'es un valor de '.mysql_result($ga,0);
$nuevo_texto .= "<input type='button' id='idparar' value='parar' onClick='stop_Int(1)' />";
$nuevo_texto .= "<input type='button' id='idandar' value='andar' onClick='start_Int(1)' />";
$nuevo_texto .= '<input type="button" id="idimpr" value="imprime" onClick="imprime('.$_SESSION['ES'].')" />';
echo $nuevo_texto;
};
?>