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

Tengo un problema con las notificaciones

Hola amigos tengo un problema con las notificaciones lo que quiero hacer es que se inserten 2 registros o 1 depende si es el creador del post o no, no se pero ami solo se le manda el creador del post por ej si el usuario test por decir comenta no se le notifica
al autor ni al usuario. veran lo que quiero hacer es algo datoweb tengo echo ya gran parte del code
os dejo aqui el codigo
<?php require_once('../Connections/conexion.php'); 
$user = $_COOKIE['idcookie'];
$idpost = $_POST['eposts'];
$comments = $_POST['comentario'];
$ip = $_SERVER['REMOTE_ADDR'];
$estado = 1;
$codigo = sha1($comments);
$insertSQL = "INSERT INTO r_comments_posts (autor, id_post, comment,ip,estado,codigo) VALUES ('$user', '$idpost','$comments','$ip','$estado','$codigo')";

  mysql_select_db($database_conexion, $conexion);
  $Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());

mysql_select_db($database_conexion, $conexion);
$query_comprobar_comments = "SELECT * FROM r_posts WHERE id=".$idpost;
$comprobar_comments = mysql_query($query_comprobar_comments, $conexion) or die(mysql_error());
$row_comprobar_comments = mysql_fetch_assoc($comprobar_comments);
$totalRows_comprobar_comments = mysql_num_rows($comprobar_comments);


if ($user !== $row_comprobar_comments['autor']){
 $insertSQL = sprintf("INSERT INTO  r_notifications (id_post,para,estado,ip,autor,type) VALUES (%s,%s,%s,%s,%s,%s)",
GetSQLValueString($idpost, "int"),
GetSQLValueString($_POST['eposts'], "int"),
GetSQLValueString($estado, "int"),
GetSQLValueString($ip, "text"),
GetSQLValueString($_COOKIE['idcookie'], "int"),
GetSQLValueString(0, "int"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
}else{
	 $insertSQL = sprintf("INSERT INTO  r_notifications (id_post,para,estado,ip,autor,type) VALUES (%s,%s,%s,%s,%s,%s)",
GetSQLValueString($idpost, "int"),
GetSQLValueString($_COOKIE['id'], "int"),
GetSQLValueString($estado, "int"),
GetSQLValueString($ip, "text"),
GetSQLValueString($_COOKIE['idcookie'], "int"),
GetSQLValueString(1, "int"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($insertSQL, $conexion) or die(mysql_error());
}
mysql_free_result($comprobar_comments);


mysql_select_db($database_conexion, $conexion);
$query_id_comment = "SELECT * FROM r_posts WHERE cat=$idpost ORDER BY id DESC LIMIT 1 ";
$id_comment = mysql_query($query_id_comment, $conexion) or die(mysql_error());
$row_id_comment = mysql_fetch_assoc($id_comment);
$totalRows_id_comment = mysql_num_rows($id_comment);

mysql_free_result($id_comment);


?>
fijenses si me pueden ayudar
capas tienen que ser 2 inserciones para el autor del post y otra para el usuario commentador osea el user que usa logeado no como el usuario del post
Gracias
0
Puntos
1559
Visitas
4
Resp
Por fc2014 hace 113 meses
Experto
Respuesta #1
en esta linea creo que tienes al puesto el operador al menos creo que el !== no exixte
if ($user !== $row_comprobar_comments['autor']){
prueba cambiando eso por
if ($user != $row_comprobar_comments['autor']){
0
Puntos
Por zerodarck hace 113 meses
Experto
Respuesta #2
Se podra hacer algo tipo facebook como ente codigo o parecido
que se te notifica cuado alguien commenta tu post o comentario

capas que se puede hacer

variables
$user = $_COOKIE['idcookie']; //id del usuario
$idpost = $_POST['eposts']; //id del post
$comments = $_POST['comentario']; //post de comentario
$ip = $_SERVER['REMOTE_ADDR']; //la ip 
0
Puntos
Por fc2014 hace 113 meses
Experto
Respuesta #3
Hola fc2014, No solo facebook notifica cuando alguien comenta tu post, Datoweb también lo hace jajaja. Prueba a ver con lo que te comenta zerodarck.

Tengo varias observaciones.

1.- Creo que no es necesario hacer más de un mysql_select_db(), creo que con uno solo basta para todas las consultas al menos que cierres conexión con mysql_close() cosa que no estás haciendo. Eso te ahorraría espacio y el código estaría un poco más limpio.


2.- En ésta línea me parece que tienes un error.
GetSQLValueString($_POST['eposts'], "int"),
Ese $_POST['eposts'], que me parece que significa el ID del post, como declaraste arriba en las variables, corresponde a la columna "para" de la tabla de notificaciones, si le vas a enviar una notificación al autor del post no le puedes enviar la notificación al id del post ya que no es lo mismo. Si no me equivoco, creo que lo correcto sería.
GetSQLValueString($row_comprobar_comments['autor'], "int"), // int o text dependiendo de como lo hayas hecho.

3.- Como dice el compañero zerodarck, prueba con !=

4.- Respeto que cada quien desarrolla su código y diseña su idea como quiere, pero me pregunto. Si yo comento un post, ¿Para que quiero que me llegue una notificación a mí de que lo comenté, si ya yo lo sé? Jajaja, pero bueno.

Ésta última observación lo digo porque no se si la idea de ese código está un poco fuera del objetivo. O sea, ahora que lo pienso, ya que mencionas Facebook.. Tanto al autor como a mí, me llega una notificación cuando otra persona que no soy yo, comenta un post donde yo participé. Pero si soy yo el que comenta, no me llega la notificación a mí sino al autor y los demás usuarios que participan en ella.. Ya tendrás que aclarar mi duda, porque puede que estemos entendiendo mal esa parte del problema jaja.

Saludos.
0
Puntos
Por Jose hace 113 meses
Experto Sitio web
Respuesta #4
esta bien gracias
Igual mente
0
Puntos
Por fc2014 hace 113 meses
Experto
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate