Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/10/2013, 10:01
Avatar de kakashi20
kakashi20
 
Fecha de Ingreso: septiembre-2009
Mensajes: 616
Antigüedad: 14 años, 7 meses
Puntos: 15
Exclamación setInterval tumba conexion

hola

he hecho una especie de chat sencillo y uso la funcion setInterval para saber que agente esta conectado :

PHP:

Código PHP:
Ver original
  1. <?
  2.                    
  3.                     $sql_grupo = "SELECT * FROM agentes";
  4.                                        
  5.                     $query_sql_grupo = mysql_query($sql_grupo);
  6.                    
  7.                    
  8.                     for ( $i=0;$i<mysql_num_rows($query_sql_grupo);$i++ ){
  9.                        
  10.                     $token = substr(md5(rand()),0,10);
  11.                    
  12.                     ?>
  13.                    
  14.                    
  15.                     <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">
  16.                    
  17.                     <?
  18.                    
  19.                     $conexion = new ConexionBaseDatos;
  20.                             $link = $conexion->Conectarse($conexion);
  21.                            
  22.                             $id = mysql_result($query_sql_grupo,$i,"id_trab");
  23.                            
  24.                             $sql = "SELECT * FROM trabajadores WHERE id = '$id'";
  25.                                        
  26.                             $query_sql = mysql_query($sql);
  27.                            
  28.                            
  29.                         echo "<div class='foto_tecnico3' align='left'><img src='../WebAdmin/archivos/fotos/trabajadores/".mysql_result($query_sql,0,"foto")."' width='70' height='80' /></div>";
  30.                                                                
  31.                             echo "<div class='nom_tecnico3' align='center'>".mysql_result($query_sql, 0, 'p_nombre')." ".mysql_result($query_sql, 0, 'p_apellido')."</div>";
  32.                            
  33.                            
  34.                             $sql_sum = "SELECT count(puntaje) as cont, sum(puntaje) as su from puntaje_trabajadores WHERE id_trabajador = '".mysql_result($query_sql, 0, 'id')."'";
  35.                    
  36.                             $query_sql_sum = mysql_query($sql_sum);
  37.                            
  38.                             $su = mysql_result($query_sql_sum,0,"su");
  39.                            
  40.                             $cont =  @mysql_result($query_sql_sum,0,"cont");
  41.                            
  42.                             @$total = $su / $cont;
  43.                            
  44.                            
  45.                            
  46.                             echo "<div id='casos_chat'  align='center'><span style='color:#333; font-style:italic; font-weight:bold'>".$cont." Casos</span></div>";
  47.                            
  48.                            
  49.                            
  50.                             if ( $cont == 0 ){ ?>
  51.                            
  52.                             <div id="rating3">
  53.                            
  54.                                 <div id="rat1" class="rating1"></div>
  55.                                 <div id="rat2" class="rating2"></div>
  56.                                 <div id="rat3" class="rating3"></div>
  57.                                 <div id="rat4" class="rating4"></div>
  58.                                 <div id="rat5" class="rating5"></div>
  59.                            
  60.                             </div>
  61.                            
  62.                             <?php } ?>    
  63.                            
  64.                            
  65.                            
  66.                             <?php if ( $total >= 1 && $total < 2 ){ ?>
  67.                            
  68.                             <div id="rating3">
  69.                            
  70.                                 <div id="rat1" class="rating11"></div>
  71.                                 <div id="rat2" class="rating2"></div>
  72.                                 <div id="rat3" class="rating3"></div>
  73.                                 <div id="rat4" class="rating4"></div>
  74.                                 <div id="rat5" class="rating5"></div>
  75.                            
  76.                             </div>
  77.                            
  78.                             <?php } ?>
  79.                            
  80.                             <?php if ( $total >= 2 && $total < 3 ){ ?>
  81.                            
  82.                             <div id="rating3">
  83.                            
  84.                                 <div id="rat1" class="rating11"></div>
  85.                                 <div id="rat2" class="rating22"></div>
  86.                                 <div id="rat3" class="rating3"></div>
  87.                                 <div id="rat4" class="rating4"></div>
  88.                                 <div id="rat5" class="rating5"></div>
  89.                            
  90.                             </div>
  91.                            
  92.                             <?php } ?>
  93.                            
  94.                             <?php if ( $total >= 3 && $total < 4 ){ ?>
  95.                            
  96.                             <div id="rating3">
  97.                            
  98.                                 <div id="rat1" class="rating11"></div>
  99.                                 <div id="rat2" class="rating22"></div>
  100.                                 <div id="rat3" class="rating33"></div>
  101.                                 <div id="rat4" class="rating4"></div>
  102.                                 <div id="rat5" class="rating5"></div>
  103.                            
  104.                             </div>
  105.                            
  106.                             <?php } ?>
  107.                            
  108.                             <?php if ( $total >= 4 && $total < 5 ){ ?>
  109.                            
  110.                             <div id="rating3">
  111.                            
  112.                                 <div id="rat1" class="rating11"></div>
  113.                                 <div id="rat2" class="rating22"></div>
  114.                                 <div id="rat3" class="rating33"></div>
  115.                                 <div id="rat4" class="rating44"></div>
  116.                                 <div id="rat5" class="rating5"></div>
  117.                            
  118.                             </div>
  119.                            
  120.                             <?php } ?>
  121.                            
  122.                             <?php if ( $total == 5 ){ ?>
  123.                            
  124.                             <div id="rating3">
  125.                            
  126.                                 <div id="rat1" class="rating11"></div>
  127.                                 <div id="rat2" class="rating22"></div>
  128.                                 <div id="rat3" class="rating33"></div>
  129.                                 <div id="rat4" class="rating44"></div>
  130.                                 <div id="rat5" class="rating55"></div>
  131.                            
  132.                             </div>
  133.                            
  134.                             <?php } ?>
  135.                    
  136.                     <br />
  137.                    
  138.                     <? $token = substr(md5(rand()),0,10); ?>
  139.    
  140.                     <script>
  141.                    
  142.                         $(document).ready(function() {  
  143.                          
  144.                                
  145.                             //setInterval("actualizar('<? echo $token; ?>','<? echo mysql_result($query_sql_grupo,$i,"id"); ?>')", 2000 );  
  146.                                    
  147.                                        
  148.                         });
  149.                    
  150.                     </script>
  151.                    
  152.                     <br />
  153.                    
  154.                    
  155.                    
  156.                     <div id="iniciar<?  echo $token; ?>">
  157.                    
  158.                         <a href="chat.php?id=<? echo mysql_result($query_sql_grupo,$i,"id"); ?>" target="_blank"><img src="img/conectado.fw.png" title="Conectado" /></a>
  159.                    
  160.                     </div>
  161.                    
  162.                    
  163.                     <div id="noiniciar<?  echo $token; ?>" style="color:#F00">
  164.                    
  165.                         <img src="img/noconectado.fw.png" title="No Conectado" />
  166.                    
  167.                     </div>
  168.                    
  169.                    
  170.                     <br />
  171.                    
  172.                    
  173.                    
  174.                    
  175.                    
  176.                    
  177.                     </div>
  178.                    
  179.                     <? } ?>


Jquery:

Código Javascript:
Ver original
  1. function actualizar(token,id){  
  2.                
  3.                     var str = "id="+id;
  4.  
  5.                    
  6.                    
  7.                    
  8.                     $.ajax({
  9.            
  10.            
  11.                         type: 'POST',
  12.            
  13.            
  14.            
  15.                         url: 'VerificarStatus.php',
  16.            
  17.                        
  18.            
  19.                         data: str,
  20.            
  21.            
  22.            
  23.                         success:function(msg){
  24.            
  25.            
  26.            
  27.                                     if ( msg == 0){
  28.                                    
  29.                                         $("#noiniciar"+token).fadeIn();
  30.                                         $("#iniciar"+token).fadeOut();
  31.                                        
  32.                                     }
  33.                                    
  34.                                     if ( msg == 1){
  35.                                    
  36.                                         $("#iniciar"+token).fadeIn();  
  37.                                         $("#noiniciar"+token).fadeOut();
  38.                                        
  39.                                     }
  40.              
  41.                    
  42.                         }
  43.            
  44.            
  45.            
  46.                     });
  47.  
  48.                
  49.                
  50.                 }



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