Hola Amigos!!!
estoy haciendo un sistemita de clientes y articulos
pero se me presemto un problema , como podria hacer para bloquear un cliente si por ejemplo un usuario lo esta editando y otro usuario en ese mismo instante tambien lo quiere editar u hacer otra operacion con el mismo cliente?
estube viendo los semaforos con php pero no funcionan en windows
Saludos y muchas gracias!!!

Bloquear registro de mysql si esta siendo usado
Comenzado por
tumbero_x
, nov 09 2011 06:41
4 respuestas en este tema
#1
Escrito 09 noviembre 2011 - 06:41
#2
Escrito 09 noviembre 2011 - 06:50
Bueno se me ocurre crear un campo llamado Lock o Editing, como quieras llamarlo, del tipo smallInt con 0 como valor por defecto como abierto (False), cuando un usuario llama un registro para editar haces la consulta a ese campo primero, luego haces la comparacion si esta 0 pues esta abierta y mandas a actualizar ese campo a 1 (true) de lo contrario esta bloqueado, asi cuando otro quiera intentar editar mientras este cerrado se realiza la comparacion y mandas el mensaje, y cuando el usuario termina de editar vuelves a poner a 0 el campo para que otro pueda editarla. Espero ser entendible

Saludos.


Saludos.
#3
Escrito 09 noviembre 2011 - 06:56
Perfecto!!! lo voy a hacer basado en lo que me indicas
solamente me surge una duda , si el usuario que esta editando en ese momento no termina el proceso de edicion (cierra el navegador desde la x) ese registro va a seguir estando "bloqueado"
basado en tu experiencia, cual seria la mejor forma de evitar esto
Saludos Y muchas gracias!!!
solamente me surge una duda , si el usuario que esta editando en ese momento no termina el proceso de edicion (cierra el navegador desde la x) ese registro va a seguir estando "bloqueado"
basado en tu experiencia, cual seria la mejor forma de evitar esto
Saludos Y muchas gracias!!!
#4
Escrito 09 noviembre 2011 - 07:22
Pues es un poco trabajoso el asunto, hay varias formas de realizar eso:
1) Gestion de Sesiones: crear una sesion relacionada con la edicion del registro especifico por un tiempo determinado, por ejemplo 15 minutos, y luego que se acabe el tiempo realizar la consulta.
2) Cookies: Igual que la anterior.
3) Detectar cuando el Navegador fue cerrado: Esto se puede hacer haciendolo con Javascript y/o AJAX, el primero no se puede realizar consultas a MySQL, el segundo es un poco mas trabajoso.
4) Que el Administrador sea quien lo desbloquee

Saludos.
1) Gestion de Sesiones: crear una sesion relacionada con la edicion del registro especifico por un tiempo determinado, por ejemplo 15 minutos, y luego que se acabe el tiempo realizar la consulta.
2) Cookies: Igual que la anterior.
3) Detectar cuando el Navegador fue cerrado: Esto se puede hacer haciendolo con Javascript y/o AJAX, el primero no se puede realizar consultas a MySQL, el segundo es un poco mas trabajoso.
4) Que el Administrador sea quien lo desbloquee


Saludos.
#5
Escrito 09 noviembre 2011 - 07:25
perfecto , voy a trabajar sobre todo eso que me indicaste
Saludos Y muchas gracias!!!
Saludos Y muchas gracias!!!