Foros del Web » Programando para Internet » Javascript »

Duda sobre ajax

Estas en el tema de Duda sobre ajax en el foro de Javascript en Foros del Web. Hola, buen dia, tengo un problemilla y espero que me puedan orientar. Resulta que estoy haciendo un proyecto para la coordinacion de mi escuela y ...
  #1 (permalink)  
Antiguo 06/01/2012, 12:56
 
Fecha de Ingreso: enero-2012
Ubicación: GDL
Mensajes: 4
Antigüedad: 12 años, 3 meses
Puntos: 0
Duda sobre ajax

Hola, buen dia, tengo un problemilla y espero que me puedan orientar.
Resulta que estoy haciendo un proyecto para la coordinacion de mi escuela y necesito mostrar en pantallas de tv la lista de asistencia de los profesores cada que hay una clase nueva.
Como quieren que sea web el sistema, tengo ya las paginas, las consultas y resultados no son problema ya funcionan, entonces mi problema es como hacer para que se muestren los resultados por partes, es decir, si a una hora hay mas de 200 clases nuevas necesito mostrar digamos 25 resultados y pasado cierto tiempo mostrar los siguientes 25 resultados, algo similar a como se muestran los vuelos en un aeropuerto. Por hay alguien me dijo que con ajax y jquery podria solucionarlo pero la verdad no se como y en cierto modo me urge.
De antemano gracias y saludos

OjO: no pido que me lo hagan, solo un empujon sobre que buscar, alguna palabra clave o un ejemplo.

Última edición por aguilaPHP; 06/01/2012 a las 18:03
  #2 (permalink)  
Antiguo 08/01/2012, 14:59
Avatar de alejandromg  
Fecha de Ingreso: noviembre-2011
Ubicación: Tegucigalpa, HN
Mensajes: 35
Antigüedad: 12 años, 5 meses
Puntos: 15
Respuesta: Duda sobre ajax

Hay muchos formas de solucionarlos, una lógica y sencilla seria usar SetInterval para que cada cierto tiempo cambie lo que se esta mostrando, el uso de Ajax puede no ser necesario, ya que cuando la página cargue todas las clases pueden ser guardadas en formato JSON o como tu lo quieras, si usas JSON un modelo podria ser así:

Código Javascript:
Ver original
  1. [
  2.  {
  3.   "clase":"Quimica",
  4.   "maestro": "aguilaPHP",
  5.   "aula":"07/101",
  6.   ...
  7.  },
  8.  {
  9.   "clase":"Matématicas",
  10.   "maestro": "aguilaPHP",
  11.   "aula":"08/101",
  12.   ...
  13.  }
  14.  ...
  15. ]

Si te fijas es un Array, por lo tanto puedes crear una función que tome un rango de 10 clases cada 10 seg.

Código Javascript:
Ver original
  1. window.current = 0; // Para definir el rango.
  2. function cambiarScreen(){
  3.   //suponiendo que el JSON de arriba se llama clases
  4.   if (current > clases.length) {
  5.     current = 0; // reset el contador
  6.   }
  7.   var toShow = clases.slice(current, current+10);
  8.   current += 10; // Actualizar el siguiente grupo de clases
  9.   toShow.forEach(function(clase){
  10.    // Renderizar en una template como mustache, jQuery tmpl u otra
  11.   });
  12. }
  13.  
  14. setInterval(function(){
  15.   cambiarScreen();
  16. }, 10000); // cada 10 segundos


Si quieres más información de como Slice funciona mira:
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice
__________________
¿Te gusto mi comentario? +1 ;)

Alejandro Morales. La mejor forma de contactarme :: via twitter @_alejandromg
CTO at numbus

Última edición por alejandromg; 08/01/2012 a las 15:04 Razón: Actualizar cuando ya se paso del rango, y referencia
  #3 (permalink)  
Antiguo 08/01/2012, 16:35
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Duda sobre ajax

yo en lugar de usar slice(), usaría splice(). de este modo se van eliminando los elementos del objeto y nos evitamos reasignar la variable "current"

por otro lado el uso de forEach() tiene sus inconvenientes
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #4 (permalink)  
Antiguo 08/01/2012, 18:58
Avatar de alejandromg  
Fecha de Ingreso: noviembre-2011
Ubicación: Tegucigalpa, HN
Mensajes: 35
Antigüedad: 12 años, 5 meses
Puntos: 15
Respuesta: Duda sobre ajax

@IsaBelM Interesante, respecto al slice lo sugeri por el hecho de que, supongamos, este repitiendose una y otra vez hasta que llegue el próximo cambio de hora, donde se supone el JSON con las clases seria actualizado o refrescado...

Umm! si con el forEach tienes tu punto, en todo caso usa un while y listo, el código quedaria:

Código Javascript:
Ver original
  1. window.current = 0; // Para definir el rango.
  2. function cambiarScreen(){
  3.   //suponiendo que el JSON de arriba se llama clases
  4.   if (current > clases.length) {
  5.     current = 0; // reset el contador
  6.   }
  7.   var toShow = clases.slice(current, current+10); // o splice según sea el caso
  8.   current += 10; // Actualizar el siguiente grupo de clases
  9.   var  j = toShow.length;
  10.   while (j--){
  11.     // Acceder a cada miembro mediante clases[j]
  12.   }
  13. }
  14.  
  15. setInterval(function(){
  16.   cambiarScreen();
  17. }, 10000); // cada 10 segundos
__________________
¿Te gusto mi comentario? +1 ;)

Alejandro Morales. La mejor forma de contactarme :: via twitter @_alejandromg
CTO at numbus
  #5 (permalink)  
Antiguo 09/01/2012, 09:10
 
Fecha de Ingreso: enero-2012
Ubicación: GDL
Mensajes: 4
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Duda sobre ajax

Muchisimas gracias alejandromg e isabelm, me han ayudado a solucionar mi problema, hare unas pruebas esta semana y cuando lo termine les platico como quedo. Saludos.

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:39.