Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2012, 13:13
Avatar de roxrodro
roxrodro
 
Fecha de Ingreso: octubre-2012
Ubicación: Chile
Mensajes: 2
Antigüedad: 12 años, 1 mes
Puntos: 0
Control inicio y detención de setinterval para la lectura de BD MYSQL

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;
};
?>