Ver Mensaje Individual
  #14 (permalink)  
Antiguo 18/08/2012, 16:37
minombreesmm
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 12 años, 7 meses
Puntos: 52
Respuesta: es normal hacer asi un chat?

Cita:
Iniciado por waldragon Ver Mensaje
por lo que entiendo de tu explicacion, lo que haces es que lo que escribe cada usuario no se le muestra descargandolo de la bd, solo se le descarga lo que escribio el otro, y lo propio se va mostrando con js, es muy ingenioso, no se me habia ocurrido, eso sin dudas rebajaria mucho el consumo de mis recursos, podrias mostrarme algo de ese codigo? me seria de mucha ayuda...
yo hago hago exactamente eso, pero tengo un problema en la forma que consult la base de datos hago esto

es mas pondre lo que explique en el tema que acabo de abrir:

"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. con esta consulta select* from tablausuario,tablacoments order by tablacoments.id desc limit ".$limite;

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 where tablausuarios.id<>".$_SESSION['idusuario']." 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"