Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/08/2012, 15:57
minombreesmm
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 9 meses
Puntos: 52
Pregunta Problema de sincronizacion con ajax javascript

Hola a todos colegas.
soy nuevo en lo de la web.
tengo un problemita
tengo un div principal en el cual agrego divs hijos o divs coments segun los comentarios que se envien, o reciban

osea.
envio un comentario, entonces se agrega el div del coment al div principal
si tengo 5 comentarios entnces hay 5 comentarios en el div principal, bueno asi se entiende eso.

todo funciona bien, envio coments y recibo y todo bie, solo recibo los nuevos y los agrego en tiempo real.

el problema radica en que yo agregue una funcion extra en la cual cuando yo envió un coment entonces se agregue mi coment a mi panel automáticamente
(de esta forma $(cm).insertAfter('#coment'))
sin necesidad de ir cargar el coment que acabo de enviar a la base de datos
entonces yo para no cargar el coment mio de la base de datos hice esto

select* from tablausuario,tablacoments order by tablacoments.id desc limit ".$limite;

$limite es la diferencia del total de filas de la tablacoments menos el valor anterior de filas total del coment.
eso me hace que solo cargue lo nuevo, y si esta bien, el problema radica en que yo no quiero que cargue mi comentario, por que yo ya lo agregue previamente con esto $(cm).insertAfter('#coment').
y eso hace que la variable $limite cuente los valores que mostrara tomando en cuenta que no mostrara el mio. es por eso que la cambie asi select* from tablausuario,tablacoments where tablausuarios.id<>".$_SESSION['idusuario']." order by tablacoments.id desc limit ".$limite;
para ser mas claros
la base de datos muestra los comentarios nuevos, basado en la variable limite, si hay 3 comentarios nuevos, limite vale 3. entonces selecciona los 3 y los muestra
pero como yo pongo el filtro de que no quiero que muestre los de mi sesion, entonces toma en cuenta eso y cuenta 3 sin contar el mio, osea selecciona un cuarto comentario, no se si me explique.

talvez me digan para que quiero agregar el comentario de la siguiente forma
$(cm).insertAfter('#coment')
si es mejor seleccionarlo de la base de datos.
pues por estetica, ya que el archivo ajax hace peticion cada segundo, entonces si envio un dato durara un segundo en regresar-. es por eso que yo creo que se ve mejor agregarlo imediatamente en cuanto lo envio, y luego mostrar los coments nuevo a excepcion del mio para que no haya duplicados.

no se si me explique bien.

todo esto es para que funcione en tiempo real.
saludos...! de antemano gracias