En este grupo En todos

Foro de PHP



Notificaciones en PHP

Yerko
Contabilidad comercial de arica
Escrito por Yerko Alfaro
el 19/07/2009

Hola Joan, estoy trabajando en un proyecto web y me ayudaría mucho contar con alguna asistencia de personas q sepan sobre el tema.

En algunas redes sociales, como Facebook y otras, cuando alguien tiene actividad en su cuenta, eso se les notifica a los demás contactos q uno tiene. Por ejemplo, yo puedo leer en mi cuenta q mi amigo X posteó una foto, se hizo amigo de otra persona, y cosas como esas. ¿Cuál es el código que se usa para q eso suceda?

Si qiero hacer una página, y q esta tenga un libro de visitas por ejemplo, ¿Cuál es el código para q la actividad de uno sea conocida por mis otros contactos? Espero se entienda mi pregunta.

Aclaro q ya tengo el código en PHP para el libro de visitas. Me interesa el asunto pa las notificaciones.

Espero contar con tu ayuda.

Muchas gracias!

Joan Cruz
Ingeniería infromática universidad aut...
Escrito por Joan Cruz
el 20/07/2009

También las tienes que programar.

Es decir, puedes por ejemplo marcar en alguna tabla en la Base de datos que un usuario ha hecho algo y entonces cuando

Uno de sus contactos se conecte, notificarselo.

Pero eso no es un código simple que se pueda poner en un mensaje.

Thunupa Gonzales
Cochabamba, Bolivia
Escrito por Thunupa Gonzales
el 21/10/2010

Hay manera de hacer notificaciones mas simples

Agustin Rios Reyes
Ing. en sistemas computacionales insti...
Escrito por Agustin Rios Reyes
el 28/10/2012

Saludos.


Les comento yo realice algo como las notificaciones de Facebook. Lo que realice Fue:


Para la parte de la base de Datos.

  • Cree una tabla con los datos de los usuario (id_usr, nombre, apellidos…etc.).
  • Cree una tabla para los mensajes (id_msj, fecha_Creacion, id_usr, titulo, descripción, tipo ).
  • Cree una tabla mensajesGrupo (id_msjGrupo, id_msj, id_usr, estado).

Para crear un mensaje.


Cualquier usuario puede crear un mensaje, al crearlo se guardan los datos en la tabla “mensajes”, al terminar el INSERT del mensaje, se ejecuta otro INSERT para la tabla “mensajesGrupo”, este INSERT se crea dinámicamente dependiendo cuantos usuarios tenga la tabla “usuario” dependiendo de esta cantidad será el numero de registros que insertara a la tabla “mensajesGrupo” con el “estado” en “0” que indica que el mensaje no se a leído.

Con esto se tiene creado el mensaje y asociado a todos los usuarios que estén registrado.


Para la parte de notificación.


Cree en javascrip 3 funciones y 3 en php:


  • TotalMsjSinLeer(): La cual se carga al ingresar al sistema en un div que tiene una imagen de un globo de notificación. Esta realiza mediante Ajax una petición aun archivo msjsinLeer. Php que calcula el total de mensajes sin leer del usuario que a iniciado sesión, los datos se obtienen de la tabla “mensajesGrupo”.

  • LeerMsjSinLeer(): se encarga de mostrar el contenido de los mensajes que no se han leído al dar click en el div que contiene el total de mensajes no leídos. Mediante una petición Ajax a el archivo detallemsj. Php los datos se obtienen de acuerdo al identificador id_msj que esta en la tabla “mensajesGrupo” con el cruce del id_msj de la tabla “mensajes”; el resultado lo muestra en un div.

  • MarcaLeidosMsj(): se activa cuando el usuario lee una notificación, mediante una petición Ajax invoca al archivo UpdataLeido. Php el cual cambia de “0” a “1” el registro “estado” en la tabla “mensajesGrupo”.

Con esto y un poco de CSS. Se obtiene un efecto similar al de Facebook.
Espero les sirva la breve descripción, cualquier duda por aquí andamos….