he hecho una especie de chat sencillo y uso la funcion setInterval para saber que agente esta conectado :
PHP:
Código
<? $sql_grupo = "SELECT * FROM agentes"; $query_sql_grupo = mysql_query($sql_grupo); for ( $i=0;$i<mysql_num_rows($query_sql_grupo);$i++ ){ $token = substr(md5(rand()),0,10); ?> <div style="border-right:1px solid #CCC; width:200px; height:130px; float:left; padding:5px; display:inline-block; margin-left:20px; margin-top:15px" align="left"> <? $conexion = new ConexionBaseDatos; $link = $conexion->Conectarse($conexion); $id = mysql_result($query_sql_grupo,$i,"id_trab"); $sql = "SELECT * FROM trabajadores WHERE id = '$id'"; $query_sql = mysql_query($sql); echo "<div class='foto_tecnico3' align='left'><img src='../WebAdmin/archivos/fotos/trabajadores/".mysql_result($query_sql,0,"foto")."' width='70' height='80' /></div>"; echo "<div class='nom_tecnico3' align='center'>".mysql_result($query_sql, 0, 'p_nombre')." ".mysql_result($query_sql, 0, 'p_apellido')."</div>"; $sql_sum = "SELECT count(puntaje) as cont, sum(puntaje) as su from puntaje_trabajadores WHERE id_trabajador = '".mysql_result($query_sql, 0, 'id')."'"; $query_sql_sum = mysql_query($sql_sum); $su = mysql_result($query_sql_sum,0,"su"); $cont = @mysql_result($query_sql_sum,0,"cont"); @$total = $su / $cont; echo "<div id='casos_chat' align='center'><span style='color:#333; font-style:italic; font-weight:bold'>".$cont." Casos</span></div>"; if ( $cont == 0 ){ ?> <div id="rating3"> <div id="rat1" class="rating1"></div> <div id="rat2" class="rating2"></div> <div id="rat3" class="rating3"></div> <div id="rat4" class="rating4"></div> <div id="rat5" class="rating5"></div> </div> <?php } ?> <?php if ( $total >= 1 && $total < 2 ){ ?> <div id="rating3"> <div id="rat1" class="rating11"></div> <div id="rat2" class="rating2"></div> <div id="rat3" class="rating3"></div> <div id="rat4" class="rating4"></div> <div id="rat5" class="rating5"></div> </div> <?php } ?> <?php if ( $total >= 2 && $total < 3 ){ ?> <div id="rating3"> <div id="rat1" class="rating11"></div> <div id="rat2" class="rating22"></div> <div id="rat3" class="rating3"></div> <div id="rat4" class="rating4"></div> <div id="rat5" class="rating5"></div> </div> <?php } ?> <?php if ( $total >= 3 && $total < 4 ){ ?> <div id="rating3"> <div id="rat1" class="rating11"></div> <div id="rat2" class="rating22"></div> <div id="rat3" class="rating33"></div> <div id="rat4" class="rating4"></div> <div id="rat5" class="rating5"></div> </div> <?php } ?> <?php if ( $total >= 4 && $total < 5 ){ ?> <div id="rating3"> <div id="rat1" class="rating11"></div> <div id="rat2" class="rating22"></div> <div id="rat3" class="rating33"></div> <div id="rat4" class="rating44"></div> <div id="rat5" class="rating5"></div> </div> <?php } ?> <?php if ( $total == 5 ){ ?> <div id="rating3"> <div id="rat1" class="rating11"></div> <div id="rat2" class="rating22"></div> <div id="rat3" class="rating33"></div> <div id="rat4" class="rating44"></div> <div id="rat5" class="rating55"></div> </div> <?php } ?> <br /> <? $token = substr(md5(rand()),0,10); ?> <script> $(document).ready(function() { //setInterval("actualizar('<? echo $token; ?>','<? echo mysql_result($query_sql_grupo,$i,"id"); ?>')", 2000 ); }); </script> <br /> <div id="iniciar<? echo $token; ?>"> <a href="chat.php?id=<? echo mysql_result($query_sql_grupo,$i,"id"); ?>" target="_blank"><img src="img/conectado.fw.png" title="Conectado" /></a> </div> <div id="noiniciar<? echo $token; ?>" style="color:#F00"> <img src="img/noconectado.fw.png" title="No Conectado" /> </div> <br /> </div> <? } ?>
Jquery:
Código
function actualizar(token,id){ var str = "id="+id; $.ajax({ type: 'POST', url: 'VerificarStatus.php', data: str, success:function(msg){ if ( msg == 0){ $("#noiniciar"+token).fadeIn(); $("#iniciar"+token).fadeOut(); } if ( msg == 1){ $("#iniciar"+token).fadeIn(); $("#noiniciar"+token).fadeOut(); } } }); }
el problema es que esa función setInterval me tumba la conexión al hosting, osea que la pagina se cae y todo lo que esta dentro del hosting también.
porque sucede esto ?
el detalle es que necesito usar esa función para saber si cada agente esta conectado en el momento y recargar su estado automáticamente.
si alguien me pudiese ayudar se lo agradeceria