Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/08/2014, 14:26
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 1 mes
Puntos: 977
Respuesta: PHP y innerHTML en javascript

Eso sucede porque ejecutas el bucle for una sola vez, además, estoy viendo que al cargar la página, ejecutas la función, pero también lo haces dentro del bucle y lo que es peor, creas y ejecutas a la función en cada iteración del bucle.

Deberías de tener el código de esta manera:

Código Javascript:
Ver original
  1. var datos = [
  2.         {divid: 1, url: "cuadros/1.php"},
  3.         {divid: 2, url: "cuadros/2.php"}
  4.     ],
  5.     total = datos.length;
  6.  
  7. function objetoajax1(divid, url){
  8.     var xmlHttp,
  9.         timestamp,
  10.         procesourl,
  11.         i;
  12.  
  13.     try{
  14.         xmlHttp = new XMLHttpRequest();
  15.     }
  16.     catch (e){
  17.         try{
  18.             xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
  19.         }
  20.         catch (e){
  21.             try{
  22.                 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  23.             }
  24.             catch (e){
  25.                 alert("Tu explorador no soporta AJAX.");
  26.                 return false;
  27.             }
  28.         }
  29.     }
  30.  
  31.     timestamp = parseInt(new Date().getTime().toString().substring(0, 10));
  32.     procesourl = url + "?t=" + timestamp;
  33.  
  34.     xmlHttp.onreadystatechange = function(){
  35.         if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
  36.             document.getElementById(divid).innerHTML = xmlHttp.responseText;
  37.         }
  38.     }
  39.     xmlHttp.open("GET", procesourl, true);
  40.     xmlHttp.send(null);
  41. }
  42.  
  43. setInterval(function(){
  44.     for (i = 0; i < total; i++){
  45.         objetoajax1(datos[i].divid, datos[i].url);
  46.     }
  47. }, 4000);

De este modo, ejecutarás la actualización de todos los <div> cada cuatro segundos, aunque te advierto que de esta manera, solo lograrás sobrecargar al servidor de peticiones. Te recomiendo leer acerca de WebSockets.

Algunos enlaces de interés:

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 21/08/2014 a las 14:33 Razón: Pequeña mejora