Foros del Web » Programando para Internet » PHP »

Sistema de Notificación

Estas en el tema de Sistema de Notificación en el foro de PHP en Foros del Web. hola amigos del foro necesito una ayuda, estoy haciendo un sistema de notificaciones y al parecer me salio todo mal , el sistema se basa ...
  #1 (permalink)  
Antiguo 16/12/2011, 16:22
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Sistema de Notificación

hola amigos del foro necesito una ayuda, estoy haciendo un sistema de notificaciones y al parecer me salio todo mal , el sistema se basa en ejemplo:
cuando maria escribe un comentario y etiqueta por decirlo asi:
hola SDboss como estas!?
y SDboos que es el usuario que etiqueta le llega un mensaje una notificacion que dice:
Maria te escribio, menciono, etiqueto en tal comentario!
pero en la base de datos aparece:+
hola @SDboss como estas!?
y cuando responde hola RT:@SDboss hola mundo!
pero no se como buscar en la base para que a SDboss le aparesca una notificacion por favor ayudenme!
  #2 (permalink)  
Antiguo 16/12/2011, 16:32
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Sistema de Notificación

cundo maria ecribe guardás el id de usuario de SDboss, y viceversa
__________________
la la la
  #3 (permalink)  
Antiguo 16/12/2011, 16:50
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de Notificación

cuando mari escrbe si le guarda su id pero cuando etiqueta, menciona a SDboss no
  #4 (permalink)  
Antiguo 16/12/2011, 16:52
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Sistema de Notificación

tenés que capturarel id al que le va a escribir
__________________
la la la
  #5 (permalink)  
Antiguo 16/12/2011, 16:56
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Sistema de Notificación

Claro, el usuario @Maria y @menganito, ingresan con un usuario y contraseña, por lo tanto ya hay una Tabla con usuarios, en general esta tabla tiene ID (ai). Podes usar esto para:
cuando @maria le escribe a @menganito lo que guardes en la tabla sea:


tabla comentario:

Código SQL:
Ver original
  1. IDcomentario | IDusuarioEscribe |    Comentario    | UsuariosEtiquetados
  2.    124124    |        2        | Hola @menganito  | 71,3
  3.                                 Y @jabier
tabla notifiacion:
Código SQL:
Ver original
  1. IDusuarioAnotificar | Ubicacion | Notificado
  2.           3         |   124124  | 0       //no leido
  3.          71         |   124124  | 1       //leido
__________________
Mono programando!
twitter.com/eguimariano
  #6 (permalink)  
Antiguo 16/12/2011, 17:10
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de Notificación

OK, AHORA ME ENRREDE!! mi base de datos en "Comentarios" es:
ID USUARIO COMENTARIO FECHA
y como hago lo que ustedes hicieron!que recoge el id de los otros usuarios??
  #7 (permalink)  
Antiguo 16/12/2011, 17:11
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 2 meses
Puntos: 177
Respuesta: Sistema de Notificación

por ejemplo cuando estás en la sección del usuario al que le vas a etiquetar, tendría que haber un input hidden con el id del user
__________________
la la la
  #8 (permalink)  
Antiguo 16/12/2011, 17:26
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de Notificación

el codigo que comente es este:
Código PHP:
Ver original
  1. include("funciones/funciones.php");
  2.       include("funciones/connect.php");
  3. $conexion = mysql_connect($host, $usuario, $clave);
  4. if(!$conexion) {
  5. die("Error al intentar conectar: ".mysql_error());
  6. }
  7. $conectar = mysql_select_db($base, $conexion);
  8. if(!$conectar) {
  9. die('Error al intentar seleccionar la base de datos'. mysql_error());
  10. }
  11. if(isset($_POST['enviar']) && $_POST['enviar'] == 'Comentar'){
  12. if(!empty($_POST['comentario'])){
  13. $username = "$username";
  14. $comentario = inyeccion(mysql_real_escape_string($_POST['comentario']));
  15. $consulta = mysql_query("INSERT INTO Comentarios (fecha, username, comentario)
  16. VALUES (CURRENT_TIMESTAMP(), '$username', '$comentario')", $conexion)
  17. echo "Tu comentario fue agregado.";
  18. }else{
  19. print "Debe llenar todos los campos";
  20. }
  21. }
tendri que poner un IF or else para haber si hay oros usuario!
  #9 (permalink)  
Antiguo 17/12/2011, 06:43
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Sistema de Notificación

Cita:
Iniciado por Requenaeo Ver Mensaje
el codigo que comente es este:
Código PHP:
Ver original
  1. include("funciones/funciones.php");
  2.       include("funciones/connect.php");
  3. $conexion = mysql_connect($host, $usuario, $clave);
  4. if(!$conexion) {
  5. die("Error al intentar conectar: ".mysql_error());
  6. }
  7. $conectar = mysql_select_db($base, $conexion);
  8. if(!$conectar) {
  9. die('Error al intentar seleccionar la base de datos'. mysql_error());
  10. }
  11. if(isset($_POST['enviar']) && $_POST['enviar'] == 'Comentar'){
  12. if(!empty($_POST['comentario'])){
  13. $username = "$username";
  14. $comentario = inyeccion(mysql_real_escape_string($_POST['comentario']));
  15. $consulta = mysql_query("INSERT INTO Comentarios (fecha, username, comentario)
  16. VALUES (CURRENT_TIMESTAMP(), '$username', '$comentario')", $conexion)
  17. echo "Tu comentario fue agregado.";
  18. }else{
  19. print "Debe llenar todos los campos";
  20. }
  21. }
tendri que poner un IF or else para haber si hay oros usuario!
Tendrias que ampliar la tabla para tener mas herramientas.

Con esa estructura como piensas buscar todos los comentarios en el que esten etiquetados X usuario.
__________________
Mono programando!
twitter.com/eguimariano
  #10 (permalink)  
Antiguo 17/12/2011, 07:01
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Sistema de Notificación

COMENTARIO:
Cita:
Hola @truman_truman este sabado tomemos una cerveza en Paris
Código PHP:
Ver original
  1. $comentario = $_POST['comentario'];
  2. //creamos un array para buscar usuarios.
  3. $comentarioArray = explode(' ',$comentario);
  4. $usuariosEncontrado = array();
  5. //un Bucle For para buscar.
  6. for( $i=0; $i < count($comentario_array); $i++)
  7. {
  8. //La cadena comienza con un arroba.
  9.  if($usuarioE=stristr($comentarioArray[$i] , '@'))
  10.  {
  11.   $usuariosEncontrado[] = $usuarioE;
  12.  }
  13. }
  14. echo implode(' ,',$usuariosEncontrado);
  15. //imprime todo los usuarios encontrados.


Nota: al codigo lo genere AK no esta chekeado o probado. Pero es una IDEA que podes utilizar.

Despues con los usuarios encontrados, Inicias un bucle de Busqueda para conocer los ID´s y enviar las notificaciones.
__________________
Mono programando!
twitter.com/eguimariano
  #11 (permalink)  
Antiguo 23/12/2011, 12:30
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de Notificación

hola amigo gracias por tu respuesta, tenia en mente ampliar mas la tablas para tener mas herramientas
a ver si usted me ayuda en la TABLA "Comentarios" esta
ID-username-comentarios-fecha
usted me dice que necesito agregar
UsuariosEtiquetados-IDusuarioEscribe
seria asi en la tabla:
ID-username-UsuariosEtiquetados-IDusuarioEscribe-comentarios-fecha
entonces cuando se vaya a escribir un comentario los codigo serian asi
Código PHP:
Ver original
  1. include("funciones/funciones.php");
  2.           include("funciones/connect.php");
  3.     $conexion = mysql_connect($host, $usuario, $clave);
  4.     if(!$conexion) {
  5.     die("Error al intentar conectar: ".mysql_error());
  6.     }
  7.     $conectar = mysql_select_db($base, $conexion);
  8.     if(!$conectar) {
  9.     die('Error al intentar seleccionar la base de datos'. mysql_error());
  10.     }
  11.     if(isset($_POST['enviar']) && $_POST['enviar'] == 'Comentar'){
  12.     if(!empty($_POST['comentario'])){
  13.     $username = "$username";
  14.     $comentario = inyeccion(mysql_real_escape_string($_POST['comentario']));
  15.     $consulta = mysql_query("INSERT INTO Comentarios (fecha, username, comentario, NULL, NULL)
  16.    VALUES (CURRENT_TIMESTAMP(), '$username', '$comentario', '$UsuariosEtiquetados', '$IDusuarioEscribe')", $conexion)
  17.     or die(mysql_error());
  18.     echo "Tu comentario fue agregado.";
  19.     }else{
  20.     print "Debe llenar todos los campos";
  21.     }
  22.     }
no pude entendermuy bien el codigo puso y disculpe en donde podria poner este array para ver si hay
Código PHP:
Ver original
  1. $comentario = $_POST['comentario'];
  2.     //creamos un array para buscar usuarios.
  3.     $comentarioArray = explode(' ',$comentario);
  4.     $usuariosEncontrado = array();
  5.     //un Bucle For para buscar.
  6.     for( $i=0; $i < count($comentario_array); $i++)
  7.     {
  8.     //La cadena comienza con un arroba.
  9.      if($usuarioE=stristr($comentarioArray[$i] , '@'))
  10.      {
  11.       $usuariosEncontrado[] = $usuarioE;
  12.      }
  13.     }
  14.     echo implode(' ,',$usuariosEncontrado);
  15.     //imprime todo los usuarios encontrados.
PORFAVOR AYUDAME!
  #12 (permalink)  
Antiguo 23/12/2011, 17:32
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: Sistema de Notificación

Código PHP:
<?
$comentario 
"Esta noche comemos pizza en la casa de @Carlos87 conpren alcohol! @Nadia te esperamos.";
    
//creamos un array para buscar usuarios.
    
$comentarioArray explode(' ',$comentario);
    
$usuariosEncontrado = array();
    
//un Bucle For para buscar.
    
for( $i=0$i count($comentarioArray); $i++)
    {
    
//La cadena comienza con un arroba.
     
if($usuarioE=stristr($comentarioArray[$i] , '@'))
     {
      
$usuariosEncontrado[] = $usuarioE;
     }
    }
    echo 
implode(', ',$usuariosEncontrado);
    
//imprime todo los usuarios encontrados.
?>
Resultado:

Cita:

@Carlos87, @Nadia
__________________
Mono programando!
twitter.com/eguimariano
  #13 (permalink)  
Antiguo 23/12/2011, 18:13
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: Sistema de Notificación

O si no decea modificar su tabla, seria crear una nueva donde diga

ID ID_Comentario ID_Usuario ID_Usuario_Etiquetado

Y ya ahi cuando vea cada comentariopodria mostrarleun mensaje donde pueda mostrar el comentario donde fue etiquetado y por el usuario quien lo hizo.
Ya solo seria cuestion de con ello enviarle notificaciones a los usuarios que han sido etiquetados por quien y el id del comentario, supongo.
  #14 (permalink)  
Antiguo 24/12/2011, 18:26
 
Fecha de Ingreso: marzo-2011
Ubicación: Punta de Mata
Mensajes: 106
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Sistema de Notificación

ok gracias SirDuque por tu respuesta lo agregue a la misma archivos de comentar un nuevo texto y s00rk me gusta la idea de no expandir y crear otra tabla con lo que falta y la pregunta como realizo una busqueda par saber si eso usuarios les llegue un mensaje, me explicon es decir UsuariosEtiquetado estan todos los usuario que el usuario comento entonces un archivo php como se buscar y como mostrar en la pagina de inicio del usuario que tal persona te etiqueto,mencion en tal publicacion!
le agradezco su ayuda gracias!!

Etiquetas: notificación, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:01.