Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Como auto actualizar las notificaciones y los mensajes en ajax

Hola amigos estoy intentando hacer un sistema de notificación que te salga un globo cuando llega una nueva notificación
Saludos Gracias
0
Puntos
1838
Visitas
3
Resp
Por fc2014 hace 114 meses
Experto
Respuesta #1
Hola fc2014,

Bueno primero, ¿Cuál es la inquietud? :P
El titulo dice como auto-actualizar las notificaciones y la descripción dice que estás intentando hacer un sistema de notificación. No se cual de las dos es la correcta jaja. Pero bueno..

Si intentas hacer un sistema de notificaciones. Crea una tabla nueva donde los campos sean el id de la notificación, el emisor (quien hace que la notificación aparezca), el receptor (el usuario que recibe la notificación), y quizás el título y concepto de la notificación. Además de un campo que diga "estado" para saber si la notificación fue leída o no.

Es importante saber si esta leida o no está leida, para que puedas hacer lo de los globos rojos que aparecen.

No es muy complicado el sistema. Usemos de ejemplo éste post. Yo comento éste post y se harán dos consultas.
1.- Se sube el comentario a la tabla de comentarios.
2.- Se crea una notificación donde yo soy el emisor, tú el receptor por ser el creador del post, y en éste caso no tiene título y concepto sino que directamente apunta al tema. Con titulo y concepto me refiero a algo como "Jose ha comentado un post tuyo".

Bien, la primera consulta no tiene que ver con el tema, es solo crear un comentario. La segunda consulta sería crear la notificación siempre con el campo estado=0 (Para decir que no ha sido leída).

Ahora, para los globos.. Haces una consulta parecida a ésta
$usuario = $_SESSION["id_usuario"];
$consulta = mysql_query("SELECT * FROM notificaciones WHERE estado=0 and receptor=%s", GetSQLValueString($usuario, "int"));
Puse que usuario es int porque a mi me gusta trabajar con los ID y no con los nombres de usuario.
Bueno cuando hagas la consulta, haces un condicional if que diga que si hay resultados, indique cuántos son, y si no, no muestre nada..
$rowResult = mysql_fetch_assoc($consulta);
$totalRowResult = mysql_num_rows($consulta);

if ($totalRowResult>0) {
echo "<div id=\"notificaciones\">". $totalRowResult ."</div>";
}
Para mostrar la cantidad de notificaciones no leídas usa el que dice $totalRowResult. Luego le das estilos al div y listo. Espero te haya servido ésta explicación breve jajajaja.

5
Puntos
Por Jose hace 114 meses
Experto Sitio web
Respuesta #2
gracias igual por tu aporte ya pude solucionarlo
10
Puntos
Por fc2014 hace 114 meses
Experto
Respuesta #3
buen aporte Jose como siempre +5
0
Puntos
Por alber hace 114 meses
Administrador
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate