Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: 70N1 en 2 Abril 2014, 18:44 PM

Título: Detectar cambios mysql con php socket
Publicado por: 70N1 en 2 Abril 2014, 18:44 PM
Hola.
E leido que para detectar cambios en un registro de mysql sin hacer muchas peticiones al servidor, tendria que ser mediante socket. Es eso cierto? o se hacen las mismas peticiones?.
Título: Re: Detectar cambios mysql con php socket
Publicado por: EFEX en 3 Abril 2014, 03:13 AM
Podrias usar triggers..

https://es.wikipedia.org/wiki/Trigger_%28base_de_datos%29
Título: Re: Detectar cambios mysql con php socket
Publicado por: 70N1 en 7 Mayo 2014, 13:57 PM
Pero me podrias explicar que hacen los triggers, e leido y no me keda claro. Podrias ponerme un ejemplo?
Título: Re: Detectar cambios mysql con php socket
Publicado por: EFEX en 8 Mayo 2014, 00:45 AM
Cita de: 70N1 en  7 Mayo 2014, 13:57 PM
Pero me podrias explicar que hacen los triggers, e leido y no me keda claro. Podrias ponerme un ejemplo?

Los triggers son una sentencia de codigo que se dispara al generar cambio en una tabla, en el caso eliminar(DELETE), actualizar(UPDATE) o insertar(INSERT) registros en una tabla.

Pensa que tenes una aplicacion donde se registran nuevos usuarios y queres tener una tabla aparte para saber los ultimos que se registraron.. tu aplicacion al momento del registro de un nuevo usuario lo hace de la siguiente manera..

Código (sql) [Seleccionar]

INSERT INTO usuarios (nombre, email)
VALUES ('pepito', 'pepito@hotmail.com')


Entonces utilizas un trigger al momento en que inserta un nuevo usuario en la tabla..

Código (sql) [Seleccionar]

DELIMITER $$   --Determinamos el inicio de nuestro trigger

CREATE TRIGGER nuevo_usuario   --Nuestro trigger se llamara nuevo_usuario
BEFORE INSERT ON usuarios   --El trigger se dispara antes de que inserte un nuevo usuario
FOR EACH ROW    --Por cada fila afectada
BEGIN

       --Aqui creamos un nuevo registro en la tabla seguimiento_usuarios
       --Existen claves como OLD y NEW, para usar el valor antiguo o
       --su nuevo valor..
INSERT INTO seguimiento_usuarios (nombre_usuario, texto)
       VALUES (NEW.nombre, 'Un nuevo usuario se registro.');

END$$   --Fin


Segun cada motor de base de datos difiere en su sintaxys pero el uso es el mismo.. por ultimo te recomiendo para seguir leyendo..
https://dev.mysql.com/doc/refman/5.0/es/using-triggers.html
Título: Re: Detectar cambios mysql con php socket
Publicado por: 70N1 en 8 Mayo 2014, 20:42 PM
E estado lelllendo pero no me keda claro. al detectar el trigger un cambio... la salida puede ser imprimida automaticamente?.


ocea. creo un trigger para el id y cuando se inserte uno se puede capturar la salida?. no keda claro

como la capturo
Título: Re: Detectar cambios mysql con php socket
Publicado por: EFEX en 8 Mayo 2014, 20:50 PM
Que es lo que quieres hacer exactamente.. me parece que te entendi mal.
Título: Re: Detectar cambios mysql con php socket
Publicado por: 70N1 en 9 Mayo 2014, 12:33 PM
Lo que quiero es detectar cambios para crear un chat pero sin hacer bucles.

chat con php mysql sockets